Souscis avec une requete MySQL
Résolu
balal
-
ceddec Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
ceddec Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
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...
select * from articles where ( select code_categorie from categorie)
Ellle me semble logique pourtant....
Je compte sur vous et merci...
A voir également:
- Souscis avec une requete MySQL
- Mysql community server - Télécharger - Bases de données
- Mysql error 2002 ✓ - Forum Linux / Unix
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur de requete facebook - Forum Facebook
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
2 réponses
Salut,
Ca dépend. Si tu utilises:
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:
...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:
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....
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
je tiens à signaler que les sous-requetes ne fonctionne qu'à partir de MySQL4.1, cf. http://dev.mysql.com/doc/mysql/fr/subqueries.html