Souscis avec une requete MySQL

Résolu/Fermé
balal - 13 août 2005 à 01:27
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 - 13 août 2005 à 11:09
Bonsoir, en fait c'est cette requete qui a des soucis d'exécution alors qu'elle me semble correcte

select * from articles where ( select code_categorie from categorie)

Ellle me semble logique pourtant....
Je compte sur vous et merci...

2 réponses

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
13 août 2005 à 02:08
Salut,

Ca dépend. Si tu utilises:
SELECT donuts FROM veranda WHERE valeur

Alors mysql n'ira pas chercher plus loin: si valeur est faux (ex: 0 ou NULL) c'est comme si on te disait :
Va me chercher des donuts dans la véranda là ou 0 est vrai.

Si tu es un processeur discipliné, tu regarderas dans ta véranda:
il n'y a aucun recoin ou 0 n'est vrai. Donc aucun endroit ou tu puisses prendre des donuts.

Par contre, si on te dis:
SELECT choux_rouge FROM placard WHERE valeur

...et si valeur est égal à autre chose que 0 ou NULL (soit une valeur habituelle: un entier, une chaine, etc....), c'est comme si on te demandait (exemple: remplace valeur par 1).
Cours me chercher des choux rouges dans le placard là ou 1 est vrai.

Là tu iras chercher des choux rouges partout puisque 1 est toujours vrai.

C'est un peu ça que tu as fait dans ta requête (sans compter que tu as plusieurs résultats qui vont sortir de ta requête imbriquée. Là je ne sais pas comment ça va réagir mais probablement pas comme tu le veux.

Ca ne sert pas à grand chose d'utiliser WHERE valeur
Par contre on utilise souvent WHERE colonne=valeur

J'imagine que tu as une clé étrangère dans articles qui se rapporte à code_categorie de la table categorie.
Peut être voulais tu faire un select par rapport à certaines valaurs de ta table:
select * from articles where article.code_categorie=(
select categorie.code_categorie from categorie WHERE condition)
Ou un autre truc dans le style....
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
13 août 2005 à 11:09
Bonjour,

je tiens à signaler que les sous-requetes ne fonctionne qu'à partir de MySQL4.1, cf. http://dev.mysql.com/doc/mysql/fr/subqueries.html
0