环境如下
表A为档案:
物品_ID 物品名称 物品规格
001 商品A 30X40X50
002 商品B 50X60X70
003 商品C 30X60X80
004 商品D 50X60X90
表B为入库记录表
IN_ID 物品ID 物品数量
0001 001 50
0002 001 60
0003 004 80
0005 001 10
0006 003 90想得到结果
物品名称 物品规格 物品数量
商品A 30X40X50 120
商品C 30X60X80 90
商品D 50X60X90 80
表A为档案:
物品_ID 物品名称 物品规格
001 商品A 30X40X50
002 商品B 50X60X70
003 商品C 30X60X80
004 商品D 50X60X90
表B为入库记录表
IN_ID 物品ID 物品数量
0001 001 50
0002 001 60
0003 004 80
0005 001 10
0006 003 90想得到结果
物品名称 物品规格 物品数量
商品A 30X40X50 120
商品C 30X60X80 90
商品D 50X60X90 80
a.物品名称,a.物品规格,sum(b.物品数量) as 物品数量
from
a join b on a.物品_ID =b.物品ID
group by
a.物品名称,a.物品规格
drop table A
GO
create table A (物品_ID varchar(50) ,物品名称 varchar(50),物品规格 varchar(50))
insert into A values('001','商品A','20X40X50')
insert into A values('002','商品B','50X60X70')
insert into A values('003','商品C','30X60X80')
insert into A values('004','商品D','50X60X90')
if OBJECT_ID('B') is not null
drop table B
GO
create table B (IN_ID varchar(50) , 物品ID varchar(50) ,物品数量 int)
insert into B values('0001','001',50)
insert into B values('0002','001',60)
insert into B values('0003','004',80)
insert into B values('0005','001',10)
insert into B values('0006','003',90)
SELECT A.物品名称,A.物品规格,sum(B.物品数量) FROM B JOIN A ON A.物品_ID=B.物品ID group by A.物品名称,A.物品规格物品名称 物品规格
-------------------------------------------------- -------------------------------------------------- -----------
商品A 20X40X50 120
商品C 30X60X80 90
商品D 50X60X90 80(3 行受影响)
left join 表B b on a.物品_id=b.物品ID
group by a.物品名称,a.物品规格
order by sum(b.物品数量)
from a,b
where a.物品_ID =b.物品ID
group by a.物品名称,a.物品规格