[Mysql] problème avec SELECT WHERE IN

problème avec SELECT WHERE IN [Mysql] - SQL/NoSQL - Programmation

Marsh Posté le 18-02-2004 à 14:49:51    

salut j'utilise mysql 3.23.49 et je n'arrive pas à faire fonctionner une clause de type SELECT WHERE IN
 
la voici :
 

SELECT * FROM `swf` WHERE id_pays IN (SELECT * FROM `pays` WHERE id_region=17)


 
j'ai testé les 2 requêtes indépendemment et elles fonctionnent bien
 
keskivapa?
 
IN n'est pas supporté dans cette version de mysql (le contraire n'est pas indiqué dans le manuel)?
 
 
 
 
Edit : j'ai essayé ça aussi (qui me semblait plus correct, sans succès) :
 

SELECT * FROM `swf` WHERE `id_pays` IN (SELECT `id` FROM `pays` WHERE `id_region`=17)


Message édité par duch le 18-02-2004 à 14:58:21
Reply

Marsh Posté le 18-02-2004 à 14:49:51   

Reply

Marsh Posté le 18-02-2004 à 15:18:04    

bonjour,
 
cela n'a peut être rien à voir, mais il me semble que mysql ne supportait pas les requètes imbriquées au début.
Es-tu sûr que cette version les supporte ?
peux-tu essayer avec une requete sans le IN ( WHERE id_pays = (SELECT... ) ?
 
t'as quoi comme erreur ?
 
ils servent à quoi les quote ? (je ne connais pas du tout mysql...dsl)


Message édité par dalcap le 18-02-2004 à 15:18:19
Reply

Marsh Posté le 18-02-2004 à 15:19:09    

Pas de requêtes imbriquées dans mysql 3.x, 4.x

Reply

Marsh Posté le 18-02-2004 à 15:25:20    

merci de la confirmation :)

Reply

Marsh Posté le 18-02-2004 à 15:25:51    

ok donc pas de requêtes imbriquées dans cette version.
 
J'adore la phrase dans l'intro du manuel de Mysql :  
 
"Ceci est le manuel de référence de MySQL; il documente MySQL jusqu'à la version 5.0.0-alpha. Les évolutions fonctionnelles sont toujours indiquées avec une référence à la version d'évolution, de manière à ce que ce manuel soit toujours valable, même si vous utilisez une ancienne version de MySQL. Etant un manuel de référence, il ne fournit aucune description générale sur le langage SQL ou les concepts de bases de données relationnelles."
 
 
:lol:
 
et dans le chapitre consacré aux clauses imbriquées, rien n'indique à partir de quelle version ça marche :D


Message édité par duch le 18-02-2004 à 15:26:37
Reply

Marsh Posté le 18-02-2004 à 15:39:35    

On peut TOUJOURS se passer des sous-requêtes. C'est un confort pour le programmeur. Sinon, voilà la réponse à ta question (version) :
 
http://www.nexen.net/docs/mysql/an [...] s+requetes
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 18-02-2004 à 15:58:25    

huumm surtout pourquoi faire une sous requete quand on peut faire une jointure

Code :
  1. SELECT A.* FROM swf A ,pays B WHERE A.id_pays = B.id and  B.id_region=17


Message édité par anapajari le 18-02-2004 à 15:58:39
Reply

Marsh Posté le 18-02-2004 à 16:07:54    

qd on est une buse les requêtes imbriquées c'est plus facile :D

Reply

Marsh Posté le 18-02-2004 à 16:12:53    

net


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 18-02-2004 à 16:14:16    

duch a écrit :

qd on est une buse les requêtes imbriquées c'est plus facile :D


 
une magic buse ?
 
[:dehors2]

Reply

Sujets relatifs:

Leave a Replay

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