表A:
编号 名称 单位
001 螺内酯片 片
002 速效救心丸 盒
003 培他定片 片
004 肾炎舒片 片
005 去痛片 片表B:
批次号 存货编码 收入数量 发出数量
1 001 10 0
2 002 11 0
3 003 12 0
4 002 13 0
5 001 14 0
6 004 15 0
7 002 16 0
8 001 17 0要求输出:
存货编码 名称 单位 可用数量
001 螺内酯片 片 41
002 速效救心丸 盒 40
003 培他定片 片 12
004 肾炎舒片 片 15*注:其中的可用数量 = B.收入数量 - B.发出数量
编号 名称 单位
001 螺内酯片 片
002 速效救心丸 盒
003 培他定片 片
004 肾炎舒片 片
005 去痛片 片表B:
批次号 存货编码 收入数量 发出数量
1 001 10 0
2 002 11 0
3 003 12 0
4 002 13 0
5 001 14 0
6 004 15 0
7 002 16 0
8 001 17 0要求输出:
存货编码 名称 单位 可用数量
001 螺内酯片 片 41
002 速效救心丸 盒 40
003 培他定片 片 12
004 肾炎舒片 片 15*注:其中的可用数量 = B.收入数量 - B.发出数量
Create table A (
编号 varchar(10),
名称 varchar(30),
单位 varchar(10),
)
insert into A values('001','螺内酯片','片')
insert into A values('002','速效救心丸','盒')
insert into A values('003','培他定片','片')
insert into A values('004','肾炎舒片','片')
insert into A values('005','去痛片','片')
Create table B(
批次号 int ,
存货编码 varchar(10),
收入数量 int,
发出数量 int,
)
insert into B values(1,'001',10,0)
insert into B values(2,'002',11,0)
insert into B values(3,'003',12,0)
insert into B values(4,'002',13,0)
insert into B values(5,'001',14,0)
insert into B values(6,'004',15,0)
insert into B values(7,'002',16,0)
insert into B values(8,'001',17,0)select B.存货编码,A.名称,A.单位,
Sum(B.收入数量-B.发出数量)as 可用数量
from B left outer join A
on B.存货编码=A.编号
group by B.存货编码,A.名称,A.单位
SELECT A.*,sum(B.收入数量-B.发出数量) as 可用数量 from A inner join B on A.编号=B.存货编码
group by A.编号,A.名称,A.单位,B.存货编码
create table A(编号 varchar(10),名称 varchar(10),单位 varchar(10))
go
insert into A values('001','螺内酯片','片')
insert into A values('002','速效救心丸','盒')
insert into A values('003','培他定片','片')
insert into A values('004','肾炎舒片','片')
insert into A values('005','去痛片','片')
gocreate table B(批次号 int,存货编码 varchar(10),收入数量 int,发出数量 int)
go
insert into B values(1,'001',10,0)
insert into B values(2,'002',11,0)
insert into B values(3,'003',12,0)
insert into B values(4,'002',13,0)
insert into B values(5,'001',14,0)
insert into B values(6,'004',15,0)
insert into B values(7,'002',16,0)
insert into B values(8,'001',17,0)
go select B.存货编码,A.名称,A.单位,(sum(B.收入数量)-sum(B.发出数量)) as 可用数量
from A,B
where A.编号 = B.存货编码
group by B.存货编码,A.名称,A.单位drop table A
drop table B
group by A.编号,A.名称,A.单位,B.存货编码
可惜我来晚了,不知道我重复回答一次楼主是否给分.select tt.编号,tt.名称,tt.单位,bb.*
from 表A tt,
(select 存货编码,sum(收入数量-发出数量) as 收入数量 from 表B group by 存货编码) bb
where tt.编号=bb.存货编码
以上可以完全解决的;
from a inner join b on a.编号=b.存货编码
group by a.编号,a.名称,a.单位