1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| WITH cte_commande_famille_groupe (numero_colis ,famille,ligne)
AS (
SELECT numero_colis,famille, sum(ligne)
FROM table_CTE
GROUP BY numero_colis, famille
HAVING sum(ligne) > 1
)
SELECT t1.numero_colis
,sum(t1.ligne) sum_ligne
,count(DISTINCT t1.article) distinct_art
,count(DISTINCT t1.famille) distinct_fam
,count(DISTINCT t2.famille) distinct_fam_t2
,count(t2.ligne) count_ligne_t2
,sum(t2.ligne) sum_ligne_t2
FROM table_CTE AS t1
LEFT JOIN cte_commande_famille_groupe AS t2 ON t2.numero_colis = t1.numero_colis
AND t2.famille = t1.famille
GROUP BY t1.numero_colis; |