SQL comment sélectionné ...

Fermé
keuf666 - 12 juin 2009 à 12:06
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 - 12 juin 2009 à 12:57
Bonjour, j'ai deux tables 'PERSONNE' avec 2 colonnes 'ID' et 'NOM', 'VALIDER' avec 2 colonnes 'ID' et 'VALIDER', les ID sont en commun, je voudrai sélectionner tout les ID de PERSONNE qui ne sont pas dans la table 'VALIDER', voila débutant en sql je ne trouve pas la solution sur internet, merci.


ps: c'est un exemple, je sais très bien que mettre VALIDER dans la table PERSONNE aurait était plus simple ;)

3 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
12 juin 2009 à 12:10
bonjour, un truc comme ca devrait marcher :

select a.ID from PERSONNE a where 0=(select count(*) from VALIDER b where b.ID=a.ID)
0
mecdu35 Messages postés 393 Date d'inscription mercredi 7 février 2007 Statut Membre Dernière intervention 11 juillet 2011 16
12 juin 2009 à 12:16
Beaucoup plus simple oui !
Un petit booléen "oui/non" dans la table personne aurait suffit = )

SELECT id from personne where valider ="non";

Enfin bon ... = )
0
je comprend pas trop les a et b si tu pouvais m'expliquer, merci :)
0
pyschopathe Messages postés 1974 Date d'inscription dimanche 2 mars 2008 Statut Membre Dernière intervention 22 mars 2010 135
12 juin 2009 à 12:57
Très simple :
SELECT id FROM Personne WHERE id NOT IN (SELECT id FROM Valider);
0