1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| SELECT `pdv_nom`, `product`, `period` ,
SUM(`qte`*IF(`art_nom`='chips Bolognaise',1,0)) AS C1,
SUM(`qte`*IF(`art_nom`='chips farcie',1,0)) AS C2,
SUM(`qte`*IF(`art_nom`='chips Pâtes Farcies',1,0)) AS C3,
SUM(`qte`*IF(`art_nom`='chips Pâtes Simples',1,0)) AS C4,
SUM(`qte`*IF(`art_nom`='chips simples',1,0)) AS C5,
SUM(`qte`*IF(`art_nom`='Formule matin',1,0)) AS C6,
SUM(`qte`*IF(`art_nom`='Formule midi',1,0)) AS C7,
SUM(`qte`*IF(`art_nom`='Formule soir',1,0)) AS C8
FROM `ma_vue` GROUP BY `pdv_nom`, `product`, `period`
ORDER BY `pdv_nom` ASC, `product` ASC, `period` ASC[/quote]cette requête est basée sur une vue dont voiçi la construction :[quote]DROP VIEW IF EXISTS `ma_vue`;
CREATE VIEW ma_vue AS
SELECT pdv_user_id,pdv_nom, art_nom,LEFT(CONCAT(UPPER(cat_nom),' ',prod_nom),250) as product,CONCAT(YEAR(DATE(tic_date)),' ',MONTHNAME(DATE(tic_date))) AS period,SUM(det_qte) AS qte
FROM tickets, caisses, pdv, lignes, articles, details,produits,categories
WHERE det_lig_id=lig_id
AND lig_type_art='compose'
AND prod_cat_id=cat_id
AND det_prod_id=prod_id
AND lig_tic_id = tic_id
AND lig_art_id = art_id
AND tic_cais_id = cais_id
AND pdv_id = cais_pdv_id
AND tic_flag_retour_avoir=0
AND tic_flag_sup=0
GROUP BY pdv_user_id,pdv_nom, art_nom,cat_nom,prod_nom,period
ORDER BY 2,3,4; |
Partager