Requêtes imbriquées: Mysql ne comprend pas.
MoYoX
Messages postés
127
Date d'inscription
Statut
Membre
Dernière intervention
-
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
jeangilles Messages postés 816 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !
J'utilise un client mysql de version 5.0.22
et j'aimerais lui faire comprendre la requête suivante:
proch_vt: est une date au format "TEXT"
trans_vt: est cette même date transformée au format "DATE"
$mois_vt: est une variable contenant le numéro du mois
regionnaux: est le nom de ma table
Il se trouve que j'aimerais pouvoir sélectionner plusieurs champs, par exemple:
(le
Le problème, c'est que quand j'exécute la première requête, PhpMyAdmin me dit:
Pourtant, dans la première requête, je sélectionne bien un unique champ dans la requête imbriquée.
Et je précise que
fonctionne bien seul.
Voilà, désolé si ça a pas été trop clair, mais j'aimerais savoir où j'ai faux.
D'avance merci !
J'utilise un client mysql de version 5.0.22
et j'aimerais lui faire comprendre la requête suivante:
SELECT * FROM regionnaux WHERE(SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt)
proch_vt: est une date au format "TEXT"
trans_vt: est cette même date transformée au format "DATE"
$mois_vt: est une variable contenant le numéro du mois
regionnaux: est le nom de ma table
Il se trouve que j'aimerais pouvoir sélectionner plusieurs champs, par exemple:
SELECT * FROM regionnaux WHERE(SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt && SELECT proch_ats FROM regionnaux WHERE MONTH(trans_ats)= $mois_ats)
(le
&&c'est pour montrer que j'aimerais associer ces deux requêtes dans une seule, je sais bien que ça ne fonctionnera pas en sql)
Le problème, c'est que quand j'exécute la première requête, PhpMyAdmin me dit:
#1242 - Subquery returns more than 1 row
Pourtant, dans la première requête, je sélectionne bien un unique champ dans la requête imbriquée.
Et je précise que
SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt
fonctionne bien seul.
Voilà, désolé si ça a pas été trop clair, mais j'aimerais savoir où j'ai faux.
D'avance merci !
A voir également:
- Requêtes imbriquées: Mysql ne comprend pas.
- Expliquez les différences entre les différentes requêtes ✓ - Forum Programmation
- Nos systèmes ont détecté un trafic exceptionnel sur votre réseau informatique. cette page permet de vérifier que c'est bien vous qui envoyez des requêtes, et non un robot. que s'est-il passé ? - Forum MacOS
- Excel fonction si et ou imbriquées - Guide
- Réessayez plus tard il est possible que votre ordinateur ou votre réseau envoie des requêtes automatiques. pour la sécurité de nos utilisateurs, nous ne pouvons pas traiter votre demande pour le moment. pour en savoir plus, consultez notre page d'aide. valider - Forum Virus
- N26 votre appareil a envoyé trop de requêtes sur une courte période de temps. veuillez patienter. - Forum Consommation & Internet
1 réponse
SELECT * FROM regionnaux WHERE(SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt && SELECT proch_ats FROM regionnaux WHERE MONTH(trans_ats)= $mois_ats)
Dans ton where, il faut que tu fasses une comparaison ou quelquechose dans ce genre
là tu récupère ce que te renvoies le select, mais il faut que tu le compare avec quelquechose !
si j'ai bien compris ce que tu veux faire pour ta première requête, ca doit donner quelquechose comme ca :
SELECT * FROM regionnaux WHERE proch_vt = (SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt)
Dans ton where, il faut que tu fasses une comparaison ou quelquechose dans ce genre
là tu récupère ce que te renvoies le select, mais il faut que tu le compare avec quelquechose !
si j'ai bien compris ce que tu veux faire pour ta première requête, ca doit donner quelquechose comme ca :
SELECT * FROM regionnaux WHERE proch_vt = (SELECT proch_vt FROM regionnaux WHERE MONTH(trans_vt)= $mois_vt)