SQL 查询视图或语句 求助
SQL2008,我表如下:
A表: 商品编号,商品名称,期初数量
A001, book, 2
B表: 商品编号、入库数量、入库时间
A001, 2, 2013-01
A001, 3, 2013-02
我想使用视图或查询语句来现实:
商品编号,商品名称,入库数量合计,期初数
A001, book, 5, 2
请问我应该怎么做?我在视图中无法实现数量的合计。谢谢!
[解决办法]
----------------------------
-- Author :DBA_Huangzj()
-- Date :2013-02-27 11:02:35
-- Version:
-- Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64)
--Jun 17 2011 00:54:03
--Copyright (c) Microsoft Corporation
--Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1, v.721)
--
----------------------------
--> 测试数据:[A]
if object_id('[A]') is not null drop table [A]
go
create table [A](商品编号 varchar(5),商品名称 varchar(5),期初数量 int)
insert [A]
select 'A001','book',2
--> 测试数据:[B]
if object_id('[B]') is not null drop table [B]
go
create table [B]([商品编号] varchar(5),[入库数量] int ,[入库时间] varchar(7))
insert [B]
select 'A001','2','2013-01' union all
select 'A001','3','2013-02'
--------------开始查询--------------------------
GO
CREATE VIEW test
AS
SELECT b.[商品编号] ,
SUM([入库数量]) 入库数量合计 ,
a.期初数量 ,
a.商品名称
FROM [B]
INNER JOIN [A] ON B.[商品编号] = a.[商品编号]
GROUP BY b.[商品编号] ,
a.期初数量 ,
a.商品名称
GO
SELECT * FROM test
----------------结果----------------------------
/*
商品编号 入库数量合计 期初数量 商品名称
----- ----------- ----------- -----
A001 5 2 book
*/
[解决办法]
可以用啊,没报错哦
[解决办法]
select AA.商品编号,AA.商品名称,isnull(BB.入库数量合计,0) 入库数量合计,AA.期初数
From A表 AA
left Join ( Select 商品编号,sum (入库数量合计) as 入库数量合计 From B表 Group By 商品编号) BB On A表.商品编号= BB.商品编号
[解决办法]
错了错了,用下面的..
select 商品编号,商品名称,
(select sum(入库数量) from b where a.商品编号=b.商品编号 group by 商品编号),初期数量 from a
[解决办法]
select B. 商品编号,A.商品名称, sum(B.入库数量) as 入库数量合计,A.期初数量 from B left join A
on A.商品编号=B.商品编号
group by b.商品编号
[解决办法]
SELECT a.商品编号,a.商品名称,a.期初数量,sum(b.入库数量) FROM A表 a
inner JOIN B表 b ON (b.商品编号=a.商品编号)
group by a.商品编号,a.商品名称,a.期初数量