2,497
社区成员
发帖
与我相关
我的任务
分享
create table WL(DH varchar(20),MCh varchar(20),GG varchar(20),DW varchar(20))
go
insert into WL
values('001','WMS电阻','50R','个')
go
create table SPD(DH varchar(20),MCh varchar(20),GG varchar(20),DW varchar(20),SQShL int,RQ datetime)
go
insert into SPD
values('001','WMS电阻','50R','个',10,'2010-04-30')
go
create table RK(DH varchar(20),MCh varchar(20),GG varchar(20),DW varchar(20),RKShL int,RQ datetime)
go
insert into RK
values('001','WMS电阻','50R','个',10,'2010-05-04')
go
insert into RK
values('001','WMS电阻','50R','个',15,'2010-05-08')
go
create table CK(DH varchar(20),MCh varchar(20),GG varchar(20),DW varchar(20),CKShL int,RQ datetime)
go
insert into CK
values('001','WMS电阻','50R','个',20,'2010-05-10')
go
select A.DH,MCh,GG,DW,KC = SQShL + RKShL - CKShL
from (
select DH,SQShL = sum(SQShL),RKShL = sum(RKShL),CKShL = sum(CKShL)
from (
select DH,SQShL = sum(SQShL),RKShL = 0,CKShL = 0
from SPD
group by DH
union all
select DH,SQShL = 0,RKShL = sum(RKShL),CKShL = 0
from RK
group by DH
union all
select DH,SQShL = 0,RKShL = 0,CKShL = sum(CKShL)
from CK
group by DH
)A
group by DH
)A,WL B
where A.DH = B.DH
go
drop table WL
go
drop table SPD
go
drop table RK
go
drop table CK
--運行結果:
001 WMS电阻 50R 个 15