两表连接汇总数目
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) '汇总数'
from 表B b
inner join 表A a on b.BM=a.WL
where a.ZJ='是'
group by b.BM,b.PH,b.GYS
-- 非质检表2
select b.BM,b.PH,b.GYS,sum(b.RKS) '汇总数'
from 表B b
inner join 表A a on b.BM=a.WL
where a.ZJ='否'
group by b.BM,b.PH,b.GYS