使用查询按年份分开总计

时间:2014-06-12 09:53:59

标签: php sql

我有一个查询,显示客户订购的产品总数。我想展示2012年和2013年订购的产品数量。

这就是我得到的:

PRODUCT CODE PRODUCT NAME TOTAL
ABRX58        RED WHINE   1000
ABRX45        WHITE WINE  4000
ABRX32        CHAMPAGNE   3500

我想:

PRODUCT CODE PRODUCT NAME TOTAL 2012 TOTAL 2013
ABRX58        RED WHINE   500           500
ABRX45        WHITE WINE  2000          2000
ABRX32        CHAMPAGNE   1000          2500

我的查询:

 <?php
 foreach ($query=$db->query("SELECT
     t1.PRD_ID, t1.PRD_CODE, t1.PRD_CONT_ID, t1.PRD_COND_ID,  t1.PRD_LIBELLE
     t2.LGCM_ID, t2.LGCM_PRD_ID, t2.LGCM_CMD_ID, SUM(t2.LGCM_QTE_COMMANDE) AS SUM_LGCM_QTE_COMMANDE,
     t3.CMD_ID, t3.CMD_DATE, t3.CMD_CLT_ID
     FROM products t1
     INNER JOIN command_line t2
     ON t1.PRD_ID = t2.LGCM_PRD_ID
     INNER JOIN commands t3
     ON t2.LGCM_CMD_ID = t3.CMD_ID
     WHERE t3.CMD_CLT_ID = $cltId AND STR_TO_DATE(t3.CMD_DATE, '%d/%m/%Y') BETWEEN '".$datedeb."' AND '".$datefin."' GROUP BY t1.PRD_CODE") AS $donnees):
     ?>

我尝试使用SUM(CASE WHEN YEAR(STR_TO_DATE(t3.CMD_DATE, '%m/%d/%Y')) = 2012 THEN t2.LGCM_QTE_COMMANDE ELSE 0 END) AS SUM_LGCM_QTE_COMMANDE_2012这样的条件但它不起作用。

0 个答案:

没有答案