Problème de SQL

The_Wide_World Messages postés 10 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 4 décembre 2007 - 26 mars 2006 à 16:17
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 26 mars 2006 à 18:50
Hello

Voila une question qui concerne plus MySQL...

J'ai cette commande :
SELECT DISTINCT u.id, u.pseudo, g.Idprojet FROM User u LEFT JOIN Groupe g ON ( g.Iduser = u.id )

Donc, la requète devrai regrouper les donner pour empecher les doublons. hors, il y en a

Pour la structure de ma base, voila :

--
-- Structure de la table `groupe`
--


CREATE TABLE `groupe` (
`Iduser` mediumint(9) NOT NULL default '0',
`Idprojet` mediumint(9) NOT NULL default '0',
PRIMARY KEY (`Iduser`,`Idprojet`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


--
-- Contenu de la table `groupe`
--


INSERT INTO `groupe` VALUES (1, 1);
INSERT INTO `groupe` VALUES (1, 3);
INSERT INTO `groupe` VALUES (2, 2);


-- --------------------------------------------------------


--
-- Structure de la table `user`
--


CREATE TABLE `user` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`pseudo` varchar(15) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;


--
-- Contenu de la table `user`
--


INSERT INTO `user` VALUES (1, 'user1', 'qas');
INSERT INTO `user` VALUES (2, 'toto2', 'asdf');
INSERT INTO `user` VALUES (3, 'utilisateur (3)', 'sydf');
INSERT INTO `user` VALUES (4, 'u4', 'sf');
INSERT INTO `user` VALUES (5, 'user cinq', 'sdf');

On voit donc que user1 a deux entrée dans la table Groupe, et je pense que le problème bien de la, mais je bloque pour cette requete

Merci pour toute aide

1 réponse

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
26 mars 2006 à 18:50
http://www.w3schools.com/sql/sql_join.asp

SELECT DISTINCT u.id, u.pseudo, g.Idprojet FROM User u, Groupe g WHERE g.Iduser = u.id

A la limite ca peut être.

Le LEFT JOIN va te sortir tous les enregistrements de ta table de gauche même si y'a rien qui correspond dans la table de droite.
0
Rejoignez-nous