SQL : comment marche le IN

Vinceoli Messages postés 1 Date d'inscription mardi 15 mai 2001 Statut Membre Dernière intervention 14 septembre 2003 - 14 sept. 2003 à 12:37
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 - 15 sept. 2003 à 11:23
Dans une clause WHERE d'un SELECT comment marche le IN

SELECT * FROM Table1 WHERE Id IN ................

Est ce qu'on peut mettre un autre SELECT a la place des points du genre SELECT * FROM Table1 WHERE Id IN SELECT Id FROM Table2

Ca devrait marcher mais ca me met tjs une erreur.

Est ce que j'ai oublié quelque chose.

Merci de m'aider.

vinceoli.

http://www.toufoot.tk

3 réponses

cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
14 sept. 2003 à 13:30
hehe une quest pour TortueGeniale...
kom je sais pas a koi sert le IN jvais pas te dire n'importe quoi, mais juste une suggestion : dans ta requete mets des parenthères autour du 2ème SELECT :

SELECT * FROM Table1 WHERE Id IN (SELECT Id FROM Table2)

mais jsuis pas sur du tout.
sinon essaye + simple :

SELECT * FROM Table1 WHERE Table1.Id=Table2.Id

Houzéf@ - www.123toto.com
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
15 sept. 2003 à 10:27
On ne peut pas faire 2 requêtes imbriquées avecx mysql, c'est pour ça que ta requête ne fonctionne pas. Il faut que tu feintes! Un peu comme te le propose Houzefa dans son 2ème exemple. Mais un 'SELECT...(SELECT...)' est impossible.
0
cs_Duss Messages postés 890 Date d'inscription lundi 8 avril 2002 Statut Membre Dernière intervention 29 juillet 2004 11
15 sept. 2003 à 11:23
salut,
les requetes imbriquées sont autorisées en mysql si ta table est de type innodb seulement !!!!
Sinon, tu fais un premier select, tu construit une liste de valeurs séparées par des virgules et tu met ca dans ta requete
Duss
0
Rejoignez-nous