SQL : count multiple, groupby... - SQL/NoSQL - Programmation
Marsh Posté le 17-01-2014 à 02:52:22
Salut
Tout simplement un JOIN directement entre tes deux requetes?
SELECT cnt1.produit, cnt1.count1, cnt2.count2 |
Bon c'est p'tetre pas le plus performant, quoique. Mais j'ai la flemme de penser la, il est tard.
A+
Marsh Posté le 17-01-2014 à 05:34:00
Pas sûr que ça corresponde à ton besoin, mais si ton SGBD le permet je te conseille de jeter un coup d'oeil à "GROUP BY GROUPING SETS" (google-le, ya des tonnes de pages qui en parlent)
Marsh Posté le 17-01-2014 à 09:20:34
lasnoufle a écrit : Salut
|
Merci beaucoup
Marsh Posté le 17-01-2014 à 09:22:02
Yonel a écrit : Pas sûr que ça corresponde à ton besoin, mais si ton SGBD le permet je te conseille de jeter un coup d'oeil à "GROUP BY GROUPING SETS" (google-le, ya des tonnes de pages qui en parlent) |
Ca devient un peu complexe pour moi
Marsh Posté le 16-01-2014 à 17:51:04
J'utilise 2 requêtes pour poduire des tableaux de reporting :
SELECT cs1.produit_c produit, COUNT(c1.id) count1
FROM cases c1, cases_cstm cs1
WHERE
c1.team_set_id IN (SELECT team_set_id FROM team_sets_teams WHERE team_id IN (liste de teams1)
AND cs1.statuttraitement_c IN (liste de statuts)
AND c1.deleted=0 and c1.id = cs1.id_c
GROUP BY cs1.produit_c
SELECT cs2.produit_c produit, COUNT(c2.id) count2
FROM cases c2, cases_cstm cs2
WHERE
c2.team_set_id IN (SELECT team_set_id FROM team_sets_teams WHERE team_id IN (liste de teams2))
AND cs2.statuttraitement_c IN (liste de statuts)
AND c2.deleted=0 and c2.id = cs2.id_c
GROUP BY cs2.produit_c
Ca me produit deux tableaux :
produit count1
produit1 12
produit2 14
produit3 13
..
et
produit count2
produit1 1569
produit2 588
produit3 36
...
Je cherche un moyen de concaténer ces deux tableaux avec une seule requête pour avoir :
produit count1 count2
produit1 12 1569
produit2 14 588
produit3 13 36
...
J'ai tenté avec CASE WHEN mais ça tourne dans le vide...
Quelqu'un aurait il une idée ?
---------------
More GG, more skill