[SQL] Requete tarabiscottée

Requete tarabiscottée [SQL] - Programmation

Marsh Posté le 08-11-2001 à 14:54:26    

Salut,
 
Je suis en SQL Access.  
Je dois faire une requete simple à partir de 2 tables.  
 
Table 1 : 'Commandant', clé primaire : 'pk1'
Table 2 : 'Joueur', clé primaire : 'pk2'
 
Il me faut la liste des pk1 de tous les 'Commandant' tel que pk1 ne soit pas une clé dans 'Joueur'.
 
Comment coder ça simplement et efficacement ?
 
(L'inverse est simple à faire, ça serait un "select pk1 from Commandant where pk1=pk2" mais là je veux les pk1 de 'Commandant' qui NE sont PAS une clé primaire dans la table 'Joueur';).
 
Thanx


---------------
Pipiru piru piru pipiru pi
Reply

Marsh Posté le 08-11-2001 à 14:54:26   

Reply

Marsh Posté le 08-11-2001 à 16:05:18    

select Commandant.* from Commandant LEFT JOIN Joueur ON Commandant.pk1=Joueur.pk2 where Joueur.pk2 is NULL;
 
ça devrait marcher....

Reply

Marsh Posté le 08-11-2001 à 16:13:52    

En évitant les JOIN ca donne ca:
 
SELECT     pk1
FROM         commandant
WHERE     (pk1 NOT IN
                          (SELECT     pk2
                            FROM          joueur))
 
Si c'est bien les identifiants des commandants qui ne sont pas joueurs que tu veux :D


---------------
Dans le monde, il n'y a que 10 sortes de personnes : ceux qui savent compter en binaire et ceux qui ne savent pas
Reply

Marsh Posté le 08-11-2001 à 16:31:26    

Merci Marvin et Woof : c'est exactement ce que je voulais !


---------------
Pipiru piru piru pipiru pi
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed