Bonjour,
Voilà mon problème, pour un cours, je dois écrire une requête SQL qui renvoie 2 colonnes. La première colonne affichera le nombre d'articles qui ont été commandé 6+ fois et la deuxième colonnes, les articles qui ont été commandé moins de 2 fois.
La requête qui permet d'avoir le nombre de fois que chaque article à été commandé est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT noArticle, CASE WHEN SUM(quantite) IS NULL THEN 0 ELSE SUM(quantite) END AS quantiteTotale FROM Article NATURAL LEFT OUTER JOIN LigneCommande GROUP BY noArticle
Maintenant, je ne sais plus trop quoi faire pour pouvoir afficher mes 2 colonnes. J'ai essayé ceci, mais j'obtiens seulement une colonne (articlesImpopulaires) avec 2 lignes au lieu de 2 colonnes avec une lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT COUNT(*) AS articlesImpopulaires FROM (SELECT noArticle FROM Article NATURAL LEFT OUTER JOIN LigneCommande GROUP BY noArticle HAVING CASE WHEN SUM(quantite) IS NULL THEN 0 ELSE SUM(quantite) END < 2) UNION SELECT COUNT(*) AS articlesPopulaires FROM (SELECT noArticle FROM Article NATURAL LEFT OUTER JOIN LigneCommande GROUP BY noArticle HAVING SUM(quantite) > 5)
La sortie devrait être comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 NOMBREPOPULAIRES NOMBREIMPOPULAIRES -------------- ----------------- 3 4
mais moi j'obtiens ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 NOMBREIMPOPULAIRES ------------------ 3 4
Merci à l'avance![]()
Partager