MYSQL Problème de requetes imbriquées

Zack Strife -  
 Titi -
Bonsoir,

Malgré le tutorial sur les sous requetes je n'arrive pas a comprendre ce qui ne va pas dans celle que j'ai faite. la voici

SELECT * FROM table WHERE id=1 IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

Pouvez-vous l'aider svp?

Merci pour votre aide

7 réponses

nz_janvier Messages postés 146 Statut Membre 17
 
mais dis donc,

je croyais avoir lu quelque part que l'un des défauts de mysql c'est de ne pas supporter les requêtes imbriquées !!

si un modérateur pouvait nou svenir en aide !!

merci
1
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Salut nz

Exact jusqu'a la version 4.0 (incluse) cela n'était pas implementé mais depuis c'est ok a ce qu'il parait...
Enfin ceci dit je n'ai pas testé pour encore :)

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
Salut!

a priori l'erreur vient du where:
essaye de modifier ta requete comme ca,
SELECT * FROM table WHERE id=1 IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

SELECT * FROM table WHERE id IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

et tiens nous au courant :)
@+
Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
heu boulette (enfin petite mais ca risque de pas fonctioner)

SELECT * FROM table WHERE id IN (SELECT * FROM `test` WHERE level>='0' GROUP BY id_origine)

je suppose que tu veux tout les enregistrement de "table" pour lesquels l' "id" est present dans test.id_origine

donc ta requete doit etre :

SELECT * FROM table WHERE id IN(SELECET DISTINCT id_origine FORM test)

Si c'est pas ce que tu cherches donne nous un peu plus de détails... :)

@++

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0
asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
 
ARRRRRRRGGGGGG! je n'y arriverai pas aujourd'hui!!!

Tout les enregistrement de "table" pour lesquels l' "id" est present dans test.id_origine et avec test.level>=0

donc:
SELECT * FROM table WHERE id IN(SELECET DISTINCT id_origine FORM test WHERE level >=0 )

mais je ne suis plus sure de rien :)

@+

Na kaer eo va Breizh,
gand ar mor glaz èn-dro dezi !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zack Strife
 
Ok donc du a la version de mysql alors vu que c'est la version 3.23.47 qu'il y a.

Encore merci pour votre aide =) ça m'évitera de m'acharner deçu
0
Titi
 
Si mysql supporte les requêtes imbriquées mais a partir de la version 4.1
0
xav
 
Mysql ne supporte aucune requete imbriquée
-2