日期:2014-05-17  浏览次数:20431 次

两表连接汇总数目
1.表A:
WL<物料>  ZJ<质检>
1010302402+C    是
1010302402+B    否
1011102402+E    是

2.表B:
BM<编码>        PH<票号>  GYS<供应商>   RKS<入库数>
1010302402+C   8A9-2        JNN      100
1010302402+C   8A9-2        JNN      100
1011102402+E   8A9-6        JNN      200
1011102402+E   9C9-3         BM      200
1011102402+E   9C9-3         BM      300
1010302402+B    8A9-2         CC      400
1010302403+B   8A9-2         CC      100
1010302403+B   8A9-2         CC      100

3.WL<物料>和BM<编码>关联AB表,
要根据BM<编码>PH<票号>GYS<供应商>三者完全相同来汇总数目。
需要质检的生成一张质检表1,不需要质检的生成非质检表2。
怎么写sql语句,谢谢大神们:
质检表1:
BM<编码>           PH<票号>    GYS<供应商>   RKS<入库数>
1010302402+C        8A9-2    JNN           200
1011102402+E     8A9-6    JNN           200
1011102402+E     9C9-3     BM           500
非质检表2:
BM<编码>           PH<票号>    GYS<供应商>  RKS<入库数>
1010302403+B     8A9-2     CC            600

------解决方案--------------------
试试这个:


--1.第一个问题
select BM,PH,GYS,sum(RKS) as RKS
from 表B
where BM in (select WL 表A where ZJ = '是')
group by BM,PH,GYS


--2.第二个问题
select BM,PH,GYS,sum(RKS) as RKS
from 表B
where BM in (select WL 表A where ZJ = '否')
group by BM,PH,GYS

------解决方案--------------------

-- 质检表1
select b.BM,b.PH,b.GYS,sum(b.RKS) '汇总数'