当前位置: 代码迷 >> 报表 >> 急求高手解绝
  详细解决方案

急求高手解绝

热度:101   发布时间:2016-05-05 07:34:57.0
急求高手解决
现在有一张表,叫A吧,上面有如下字段

Ftid(订单的ID),Fnum_iid (商品内码) ,FErpItemNumber(商品的编码),Fnum(商品的数量)

Ftid   Fnum_iid    Fnum     FErpItemNumber

001    111          1        T.010

001    245          2        C.4528

001    555          4        D.5452


002    987          1        T.652

002    45           2        C.45

002    232          2        G.365


003    525          3        C.546
 
003    888          1        D.6558


一个订单号可能对应着很多的商品,一个订单号对应着一个人购买的商品,当我进行商品编码模糊查询的时候,我想得到所有商品类数量的和,举例说明一下啊
当我输入T时候,我想得到T类商品的总数量,从上面的表中可以知道 1+1 =2,我还想得到所有关联到T类商品中其他类商品的数量,也就是C类商品数量,001,002订单
中有c类商品,所以C类商品的数量是2+2=4,同样D类也是一样的,G类商品的数量就在002这个订单中了。

商品类   总数量   C类    D类   G类
  
  T        10      4     4      2
怎么样写出这个SQL语句
------解决方案--------------------
SELECT SUM(CASE WHEN CHARINDEX('C.',A.FErpItemNumber)>0 THEN Fnum END),
SUM(CASE WHEN CHARINDEX('D.',A.FErpItemNumber)>0 THEN Fnum END),
SUM(CASE WHEN CHARINDEX('G.',A.FErpItemNumber)>0 THEN Fnum END),
SUM(CASE WHEN CHARINDEX('T.',A.FErpItemNumber)=0 THEN Fnum END) 
FROM (
SELECT A1.* FROM ZW1..TTY A INNER JOIN ZW1..TTY A1
ON A.FTID=A1.FTID 
WHERE CHARINDEX('T.',A.FErpItemNumber)>0) A
  相关解决方案