Bonjour,
j'utilise une requête dans mon application qui fonctionne très bien, mais qui me semble complexe. Comme je suis pas spécialiste de SQL, je me dis qu'il est peut etre possible de la simplifier :
La requêtes comporte donc plusieurs requêtes imbriquées (ici 4, mais ça peut être même plus !!)select count(NUMERO) as res
from MaTable
where CHAMPS1 = 0 and CHAMPS2 = 10
and NUMERO in
(
select NUMERO)
from MaTable
where CHAMPS1 = 2 and CHAMPS2 = 15
and NUMERO in
(
select NUMERO)
from MaTable
where CHAMPS1 = 3 and CHAMPS2 = 10
and NUMERO in
(
select NUMERO)
from MaTable
where CHAMPS1 = 4 and CHAMPS2 = 5
Pour présenter le truc, MaTable contient des réponses a des questionnaires. NUMERO est le numéro identifiant un questionnaire, CHAMPS1 est l'identifiant d'une question et CHAMPS2 est l'identifiant de la réponse a cette question.
La requête a pour but de faire des recherches sur le questionnaire (par exemple je veut savoir le nombre de questionnaire où la personne a répondu rep10 à la question 0, rep15 à la question 2, rep10 à la question 3, etc...)
En espérant avoir été a peut prêt clair dans ma demande!
Donc ma question est y'a t'il moyen de simplifier ma requête en obtenant le même résultat?
Merci d'avances pour vos réponses...
Partager