Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD75] Requette SQL

1 réponse
Avatar
Bonjour a tous j'ai un petit probleme sur une requette

j'ai 5 tables EnteteBL , ligne BL , EnteteRetour, LigneRetour et article.
avec dans les table ligne un champ codedocument qui fait reference aux table
entete

Je recherche a faire une requettte affin de faire la somme dans les lignes
pour un article et pour un chantier. Le probleme est que sa fonctionne avec
3 table (enteteBL , ligne BL et article) mais pas avec les 5 table et les 2
somme.

si joint la requette qui marche (1somme dans les BL)
SELECT LigneBlClient.CodeArticle,
Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0)) AS A1
FROM EnteteBlClient INNER JOIN LigneBlClient ON EnteteBlClient.Code =
LigneBlClient.CodeDocument
GROUP BY LigneBlClient.CodeArticle;

et celle qui marche pas
SELECT (Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0))) AS
A1BL,
(Sum(IIf(EnteteRetourClient.Chantier="A1",LigneRetourClient.Quantite,0))) AS
A1RETOUR,
(Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0))-Sum(IIf(Ent
eteRetourClient.Chantier="A1",LigneRetourClient.Quantite,0))) AS A1
FROM Article INNER JOIN ((EnteteBlClient INNER JOIN LigneBlClient ON
EnteteBlClient.Code = LigneBlClient.CodeDocument) INNER JOIN
(EnteteretourClient INNER JOIN LigneretourClient ON EnteteretourClient.Code
= LigneretourClient.CodeDocument) ON (EnteteBlClient.Chantier =
EnteteretourClient.Chantier) AND (LigneBlClient.CodeArticle =
LigneretourClient.CodeArticle) AND (LigneBlClient.CodeArticle =
LigneretourClient.CodeArticle)) ON (Article.Code =
LigneBlClient.CodeArticle) AND (Article.Code =
LigneretourClient.CodeArticle);


oui je sais c'est pas digeste mais bon si qq'un a une idée

1 réponse

Avatar
j'ai trouvé mais j'ai un nouveau probleme voir nouveau post
a écrit dans le message de news:
c5grmc$43s$
Bonjour a tous j'ai un petit probleme sur une requette

j'ai 5 tables EnteteBL , ligne BL , EnteteRetour, LigneRetour et article.
avec dans les table ligne un champ codedocument qui fait reference aux


table
entete

Je recherche a faire une requettte affin de faire la somme dans les lignes
pour un article et pour un chantier. Le probleme est que sa fonctionne


avec
3 table (enteteBL , ligne BL et article) mais pas avec les 5 table et les


2
somme.

si joint la requette qui marche (1somme dans les BL)
SELECT LigneBlClient.CodeArticle,
Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0)) AS A1
FROM EnteteBlClient INNER JOIN LigneBlClient ON EnteteBlClient.Code > LigneBlClient.CodeDocument
GROUP BY LigneBlClient.CodeArticle;

et celle qui marche pas
SELECT (Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0)))


AS
A1BL,
(Sum(IIf(EnteteRetourClient.Chantier="A1",LigneRetourClient.Quantite,0)))


AS
A1RETOUR,



(Sum(IIf(EnteteBlClient.Chantier="A1",LigneBlClient.Quantite,0))-Sum(IIf(Ent
eteRetourClient.Chantier="A1",LigneRetourClient.Quantite,0))) AS A1
FROM Article INNER JOIN ((EnteteBlClient INNER JOIN LigneBlClient ON
EnteteBlClient.Code = LigneBlClient.CodeDocument) INNER JOIN
(EnteteretourClient INNER JOIN LigneretourClient ON


EnteteretourClient.Code
= LigneretourClient.CodeDocument) ON (EnteteBlClient.Chantier > EnteteretourClient.Chantier) AND (LigneBlClient.CodeArticle > LigneretourClient.CodeArticle) AND (LigneBlClient.CodeArticle > LigneretourClient.CodeArticle)) ON (Article.Code > LigneBlClient.CodeArticle) AND (Article.Code > LigneretourClient.CodeArticle);


oui je sais c'est pas digeste mais bon si qq'un a une idée