当前位置: 代码迷 >> Sql Server >> 关于计算总和解决思路
  详细解决方案

关于计算总和解决思路

热度:80   发布时间:2016-04-24 10:28:51.0
关于计算总和
如下图示:如何计算相同email的条数,即当consignid=20‘GP时为1,为40’GP时为2,

email为A的总数为:1(一个20‘GP)+2(一个40’GP)=3

哪email为B的总数为:1(一个20‘GP)+2*2(两个40’GP)=5

请问SQL如何写?


------解决方案--------------------
SELECT
   a.shipco,a.custno_dcdl,
   SUM(CASE WHEN b.boxtype='20‘GP' THEN 1 WHEN b.boxtype='40‘GP'  THEN 2 ELSE 0 END) AS [SUM]
FROM
   TB1 as a left join tb2 as b
on
   a.CONSIGNID=b.CONSIGNID
GROUP BY
    a.shipco,a.custno_dcdl
  相关解决方案