现在有一张表,叫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