J'ai deux requ=EAtes s=E9par=E9es que je souhaite traiter en une requ=EAte
imbriqu=E9e.
(La seconde requ=EAte ci-dessous int=E9gre la premi=E8re requ=EAte)
La premi=E8re requ=EAte (nomm=E9ei 1stQuery) est la suivante :
SELECT POS.CVID, POS.ENTD, POS.POS
FROM POS
WHERE POS.POS Like xxx & "*"
POS.CVID est la clef commune aux deux requ=EAtes
POS.ENTD est une date qui sert de condition dans la seconde requ=EAte
la seconde requ=EAte est la suivante
SELECT Count(POS.POS) AS NbrPOS, POS.POS
FROM POS INNER JOIN [1stQuery] ON POS.CVID =3D 1stQuery.CVID
WHERE POS.ENTD<[1stQuery]![ENTD]
GROUP BY POS.POS
HAVING Count(POS.POS)>2
le " POS.ENTD<[1stQuery]![ENTD]" suivant le WHERE devrait donc =EAtre
remplac=E9 par la premi=E8re requ=EAte.
Bon, j'ai essay=E9 plusieurs solutions mais mes faibles moyens ne
suffisent pas....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Salut
tu peux imbriquer 2 requetes sous la forme :
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
donc tu recopies le code d'une requete qui retourne 1 champ avec toutes les valeurs qui répondent à la condition, dans le champ critère de la requete qui retourne le résultat attendu
Essaye d'abord avec in (valeur1, valeur2) puis remplace par in(select blabla;)
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"spectre" a écrit dans le message de news: Bonjour,
J'ai deux requêtes séparées que je souhaite traiter en une requête imbriquée. (La seconde requête ci-dessous intégre la première requête)
La première requête (nomméei 1stQuery) est la suivante : SELECT POS.CVID, POS.ENTD, POS.POS FROM POS WHERE POS.POS Like xxx & "*"
POS.CVID est la clef commune aux deux requêtes POS.ENTD est une date qui sert de condition dans la seconde requête
la seconde requête est la suivante
SELECT Count(POS.POS) AS NbrPOS, POS.POS FROM POS INNER JOIN [1stQuery] ON POS.CVID = 1stQuery.CVID WHERE POS.ENTD<[1stQuery]![ENTD] GROUP BY POS.POS HAVING Count(POS.POS)>2
le " POS.ENTD<[1stQuery]![ENTD]" suivant le WHERE devrait donc être remplacé par la première requête.
Bon, j'ai essayé plusieurs solutions mais mes faibles moyens ne suffisent pas....
Merci pour votre aide. Bi
Salut
tu peux imbriquer 2 requetes sous la forme :
select * from larequete2
having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
donc tu recopies le code d'une requete qui retourne 1 champ avec toutes les valeurs qui répondent à la condition,
dans le champ critère de la requete qui retourne le résultat attendu
Essaye d'abord avec in (valeur1, valeur2)
puis remplace par in(select blabla;)
--
A+
Arnaud
-----------------------------------------------------
Tout ce qu'il faut savoir est sur http://www.mpfa.info
-----------------------------------------------------
"spectre" <propedeutique@yahoo.fr> a écrit dans le message de news: 1133983582.115628.159530@g43g2000cwa.googlegroups.com...
Bonjour,
J'ai deux requêtes séparées que je souhaite traiter en une requête
imbriquée.
(La seconde requête ci-dessous intégre la première requête)
La première requête (nomméei 1stQuery) est la suivante :
SELECT POS.CVID, POS.ENTD, POS.POS
FROM POS
WHERE POS.POS Like xxx & "*"
POS.CVID est la clef commune aux deux requêtes
POS.ENTD est une date qui sert de condition dans la seconde requête
la seconde requête est la suivante
SELECT Count(POS.POS) AS NbrPOS, POS.POS
FROM POS INNER JOIN [1stQuery] ON POS.CVID = 1stQuery.CVID
WHERE POS.ENTD<[1stQuery]![ENTD]
GROUP BY POS.POS
HAVING Count(POS.POS)>2
le " POS.ENTD<[1stQuery]![ENTD]" suivant le WHERE devrait donc être
remplacé par la première requête.
Bon, j'ai essayé plusieurs solutions mais mes faibles moyens ne
suffisent pas....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
donc tu recopies le code d'une requete qui retourne 1 champ avec toutes les valeurs qui répondent à la condition, dans le champ critère de la requete qui retourne le résultat attendu
Essaye d'abord avec in (valeur1, valeur2) puis remplace par in(select blabla;)
-- A+ Arnaud ----------------------------------------------------- Tout ce qu'il faut savoir est sur http://www.mpfa.info -----------------------------------------------------
"spectre" a écrit dans le message de news: Bonjour,
J'ai deux requêtes séparées que je souhaite traiter en une requête imbriquée. (La seconde requête ci-dessous intégre la première requête)
La première requête (nomméei 1stQuery) est la suivante : SELECT POS.CVID, POS.ENTD, POS.POS FROM POS WHERE POS.POS Like xxx & "*"
POS.CVID est la clef commune aux deux requêtes POS.ENTD est une date qui sert de condition dans la seconde requête
la seconde requête est la suivante
SELECT Count(POS.POS) AS NbrPOS, POS.POS FROM POS INNER JOIN [1stQuery] ON POS.CVID = 1stQuery.CVID WHERE POS.ENTD<[1stQuery]![ENTD] GROUP BY POS.POS HAVING Count(POS.POS)>2
le " POS.ENTD<[1stQuery]![ENTD]" suivant le WHERE devrait donc être remplacé par la première requête.
Bon, j'ai essayé plusieurs solutions mais mes faibles moyens ne suffisent pas....
Merci pour votre aide. Bi
spectre
Merci, mais....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.
Bye
Merci, mais....
select * from larequete2
having lechampdelarequete2in (select lechampdelarequete1 from latable
where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront
nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas
beaucoup avancé.
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.
Bye
Salut
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs qui correspondent à tes critères. Bâtis une seconde requete et dans le critère du champ qui doit contenir cette liste de valeurs, tu inscrits :
in ( ) entre les parenthèses, tu repopies le code sql de la première requete
et voilà A+ Arnaud
"spectre" a écrit dans le message de news:
Merci, mais....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.
Bye
Salut
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs
qui correspondent à tes critères.
Bâtis une seconde requete et dans le critère du champ qui doit contenir
cette liste de valeurs, tu inscrits :
in ( )
entre les parenthèses, tu repopies le code sql de la première requete
et voilà
A+
Arnaud
"spectre" <propedeutique@yahoo.fr> a écrit dans le message de news:
1133994969.824959.320100@g49g2000cwa.googlegroups.com...
Merci, mais....
select * from larequete2
having lechampdelarequete2in (select lechampdelarequete1 from latable
where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront
nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas
beaucoup avancé.
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs qui correspondent à tes critères. Bâtis une seconde requete et dans le critère du champ qui doit contenir cette liste de valeurs, tu inscrits :
in ( ) entre les parenthèses, tu repopies le code sql de la première requete
et voilà A+ Arnaud
"spectre" a écrit dans le message de news:
Merci, mais....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.
Bye
alexia_new
Bonjour j'ai lu votre post de decembre, j'essaye en fin d'appliquer ce que vous avez écrit et je n'y parvient pas, j'ai toujours un message d'erreur ou bien une combow qui s'ouvre me demandant la valeur de Having !!!!!
Query_finale_0 ce que je veux obtenir:
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<P24.3207458494,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr]; La valeur 5034.32 est celle issue de la requête :query 1 _2 SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));
Query_finale_1 me demande la valeur du having :
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<=having in (SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));) ,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr];
Enfin, Query_finale_2, ne fonctionne pas et me retourne une erreur SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<=having moyenne in (SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));) ,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr];
Je vous joins au cas où ma base de test http://cjoint.com/data/cympQMHBtv.htm Merci d'avance
Salut
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs qui correspondent à tes critères. Bâtis une seconde requete et dans le critère du champ qui doit contenir cette liste de valeurs, tu inscrits :
in ( ) entre les parenthèses, tu repopies le code sql de la première requete
et voilà A+ Arnaud
"spectre" a écrit dans le message de news:
Merci, mais....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.
Bye
Bonjour
j'ai lu votre post de decembre, j'essaye en fin d'appliquer ce que vous avez
écrit et je n'y parvient pas, j'ai toujours un message d'erreur ou bien une
combow qui s'ouvre me demandant la valeur de Having !!!!!
Query_finale_0 ce que je veux obtenir:
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation
DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751
undervaluation DV iwr]-4.55703560103863)<P24.3207458494,Table1![S751
undervaluation DV iwr],0)) AS [Max_Val_S751<=agv]
FROM Table1
GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751
undervaluation DV iwr]
ORDER BY Table1.[Icn Iwr];
La valeur 5034.32 est celle issue de la requête :query 1 _2
SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne
FROM Table1
WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751
undervaluation DV iwr])<>0));
Query_finale_1 me demande la valeur du having :
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation
DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751
undervaluation DV iwr]-4.55703560103863)<=having in (SELECT Avg(Table1.[S751
undervaluation DV iwr]) AS moyenne
FROM Table1
WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751
undervaluation DV iwr])<>0));)
,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv]
FROM Table1
GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751
undervaluation DV iwr]
ORDER BY Table1.[Icn Iwr];
Enfin, Query_finale_2, ne fonctionne pas et me retourne une erreur
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation
DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751
undervaluation DV iwr]-4.55703560103863)<=having
moyenne in (SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne
FROM Table1
WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751
undervaluation DV iwr])<>0));)
,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv]
FROM Table1
GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751
undervaluation DV iwr]
ORDER BY Table1.[Icn Iwr];
Je vous joins au cas où ma base de test http://cjoint.com/data/cympQMHBtv.htm
Merci d'avance
Salut
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs
qui correspondent à tes critères.
Bâtis une seconde requete et dans le critère du champ qui doit contenir
cette liste de valeurs, tu inscrits :
in ( )
entre les parenthèses, tu repopies le code sql de la première requete
et voilà
A+
Arnaud
"spectre" <propedeutique@yahoo.fr> a écrit dans le message de news:
1133994969.824959.320100@g49g2000cwa.googlegroups.com...
Merci, mais....
select * from larequete2
having lechampdelarequete2in (select lechampdelarequete1 from latable
where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront
nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas
beaucoup avancé.
Bonjour j'ai lu votre post de decembre, j'essaye en fin d'appliquer ce que vous avez écrit et je n'y parvient pas, j'ai toujours un message d'erreur ou bien une combow qui s'ouvre me demandant la valeur de Having !!!!!
Query_finale_0 ce que je veux obtenir:
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<P24.3207458494,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr]; La valeur 5034.32 est celle issue de la requête :query 1 _2 SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));
Query_finale_1 me demande la valeur du having :
SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<=having in (SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));) ,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr];
Enfin, Query_finale_2, ne fonctionne pas et me retourne une erreur SELECT Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr], IIf(Table1![S751 undervaluation DV iwr]=0,0,IIf((Table1![S751 undervaluation DV iwr]-4.55703560103863)<=having moyenne in (SELECT Avg(Table1.[S751 undervaluation DV iwr]) AS moyenne FROM Table1 WHERE (((Table1.[S751 undervaluation DV iwr])<>0 And (Table1.[S751 undervaluation DV iwr])<>0));) ,Table1![S751 undervaluation DV iwr],0)) AS [Max_Val_S751<=agv] FROM Table1 GROUP BY Table1.[Icn Iwr], Table1.[Remark value], Table1.[S751 undervaluation DV iwr] ORDER BY Table1.[Icn Iwr];
Je vous joins au cas où ma base de test http://cjoint.com/data/cympQMHBtv.htm Merci d'avance
Salut
Bâtis une requete pour qu'elle retourne 1 champ avec la liste des valeurs qui correspondent à tes critères. Bâtis une seconde requete et dans le critère du champ qui doit contenir cette liste de valeurs, tu inscrits :
in ( ) entre les parenthèses, tu repopies le code sql de la première requete
et voilà A+ Arnaud
"spectre" a écrit dans le message de news:
Merci, mais....
select * from larequete2 having lechampdelarequete2in (select lechampdelarequete1 from latable where lacondition <;);
j'ai un peu de mal à comprendre!
je crois que quelques explications supplémentaires me seront nécessaires (j'ai regardé quelques sites sql mais cela ne m'a pas beaucoup avancé.