当前位置: 代码迷 >> Sql Server >> 以雷同名称统计相应的赠品数量,难
  详细解决方案

以雷同名称统计相应的赠品数量,难

热度:58   发布时间:2016-04-24 09:54:23.0
以相同名称统计相应的赠品数量,难。
select Sum(SRPTABLE3.unitquantity) as '业务数量',SRPTABLE7.name as '名称',case SRPTABLE3.islargess when 0 then '否' when 1 then '是' else '' end as '赠品' from s_sale SRPTABLE1

left join l_trader SRPTABLE2 on SRPTABLE1.traderid=SRPTABLE2.traderid
Left Join s_saledetail SRPTABLE3 on SRPTABLE3.billid = SRPTABLE1.billid
left join l_goodsunit SRPTABLE4 on SRPTABLE3.goodsid=SRPTABLE4.goodsid and SRPTABLE4.isbase=1 left join l_goodsunit SRPTABLE5 on SRPTABLE3.goodsid=SRPTABLE5.goodsid and SRPTABLE5.unittype=1
Left Join l_store SRPTABLE6 on SRPTABLE6.storeid = SRPTABLE3.storeid
Left Join l_goods SRPTABLE7 on SRPTABLE7.goodsid = SRPTABLE3.goodsid
left join crm_affixinfo SRPTABLE8 on SRPTABLE7.affixinfoid=SRPTABLE8.id
Left Join l_trader SRPTABLE9 on SRPTABLE9.traderid = SRPTABLE1.traderid
Left Join l_area SRPTABLE10 on SRPTABLE10.areaid = SRPTABLE9.areaid
Group By SRPTABLE3.referqty,SRPTABLE3.islargess,SRPTABLE7.name,SRPTABLE7.specs,SRPTABLE10.name

执行效果后的数据是:
数量                  名称                 赠品
1.00000000 600ml隐雪(西柚味) 否
5.00000000 900ML鹰唛食用调和油 否
0.50000000 华山泉(中) 否
60.00000000 华山泉(中) 否
29.20833333 华山泉(中) 否
-1.00000000 凯撒-窑藏(进口啤酒) 否
1.00000000 华山泉(中) 是
2.00000000 华山泉(中) 否


最终想这样显示
商品A  非赠品  赠品
可乐    2      1 

2和1是按照数量来统计


------解决思路----------------------
SELECT[名称]
,ISNULL(SUM(CASE islargess WHEN 1 THEN unitquantity END),0)'非赠品'
,ISNULL(SUM(CASE islargess WHEN 0 THEN unitquantity END),0)'赠品'
FROM 数据源 GROUP BY [名称]
你参考一下,数据源和 一些列名对上你的表,这是行转列
------解决思路----------------------
上面修改下
SELECT[名称]
,ISNULL(SUM(CASE islargess WHEN 0 THEN unitquantity END),0)'非赠品'
,ISNULL(SUM(CASE islargess WHEN 1 THEN unitquantity END),0)'赠品'
FROM 数据源 GROUP BY [名称]

------解决思路----------------------
只想问你可乐怎么来的 
  相关解决方案