problème avec SELECT WHERE IN [Mysql] - SQL/NoSQL - Programmation
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)
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."
et dans le chapitre consacré aux clauses imbriquées, rien n'indique à partir de quelle version ça marche
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
Marsh Posté le 18-02-2004 à 15:58:25
huumm surtout pourquoi faire une sous requete quand on peut faire une jointure
Code :
|
Marsh Posté le 18-02-2004 à 16:07:54
qd on est une buse les requêtes imbriquées c'est plus facile
Marsh Posté le 18-02-2004 à 16:12:53
net
Marsh Posté le 18-02-2004 à 16:14:16
Reply
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