我有二个SQL表,入库表和出库表,商品名称和商品规格完全相同时,求库存数量和库存金额?下面是我写的SQL语句:
SELECT TOP 100 PERCENT ISNULL(SUM(dbo.入库.数量), 0) - ISNULL(SUM(dbo.出库.数量),
0) AS 库存数量, ISNULL(SUM(dbo.入库.金额), 0) - ISNULL(SUM(dbo.出库.金额), 0) AS 库存金额,MAX(dbo.入库.商品名称) AS 商品名称, MAX(dbo.入库.商品规格) AS 商品规格,
dbo.入库.单位名称, dbo.入库.物料类型, dbo.入库.仓库编号
FROM dbo.出库 INNER JOIN
dbo.入库 ON dbo.出库.商品名称 = dbo.入库.商品名称 AND
dbo.出库.商品规格 = dbo.入库.商品规格
GROUP BY dbo.入库.单位名称, dbo.入库.商品名称, dbo.入库.物料类型, dbo.入库.是否入库,
dbo.入库.仓库编号ORDER BY dbo.入库.商品名称
SELECT TOP 100 PERCENT ISNULL(SUM(dbo.入库.数量), 0) - ISNULL(SUM(dbo.出库.数量),
0) AS 库存数量, ISNULL(SUM(dbo.入库.金额), 0) - ISNULL(SUM(dbo.出库.金额), 0) AS 库存金额,MAX(dbo.入库.商品名称) AS 商品名称, MAX(dbo.入库.商品规格) AS 商品规格,
dbo.入库.单位名称, dbo.入库.物料类型, dbo.入库.仓库编号
FROM dbo.出库 INNER JOIN
dbo.入库 ON dbo.出库.商品名称 = dbo.入库.商品名称 AND
dbo.出库.商品规格 = dbo.入库.商品规格
GROUP BY dbo.入库.单位名称, dbo.入库.商品名称, dbo.入库.物料类型, dbo.入库.是否入库,
dbo.入库.仓库编号ORDER BY dbo.入库.商品名称
解决方案 »
- vb中如何用代码往图片框里添加图片
- 多客户端连接服务器数据库,内存只增不减,直至耗尽,如何解决?
- 我有1000个邮件地址,如何知道其中哪些邮件地址是无效的、或是已经作废的、或者根本发送不到的。
- 关于列表框,和文件操作的问题,急!!!
- 各位高手,小弟问一个关于文件下载的问题
- 1、如何在VB中调用汇编伪代码,也就是说把汇编代码在VB中使用,以防GEBUG破译? 2、哪位有缘仁兄相送一个“圆形按钮”的CTL源代码,我将
- 急急。。关于16进制颜色转换如:#FF6600如何转换为vb中属性中设置的颜色带H开头
- 在vb中怎样关闭一个exe程序,立刻给分,谢谢
- help
- 有谁听过周杰伦的《上海1943》,欢迎进来发表感受
- ado打开过程出现“至少一个参数没有被指定”~!!!快被折磨死了。。。
- 在access中如何用vb代码添加新的字段并且确定其顺序
dbo.入库.单位名称, dbo.入库.商品名称, dbo.入库.物料类型, dbo.入库.是否入库,
dbo.入库.仓库编号
必须要在select里
為何要求它們的最大值?
SELECT TOP 100 PERCENT ISNULL(SUM(dbo.入库.数量), 0) - ISNULL(SUM(dbo.出库.数量),
0) AS 数量, ISNULL(SUM(dbo.入库.金额), 0) - ISNULL(SUM(dbo.出库.金额), 0)
AS 金额
FROM dbo.出库 INNER JOIN
dbo.入库 ON dbo.入库.商品名称 = dbo.出库.商品名称 AND
dbo.入库.商品规格 = dbo.出库.商品规格
SUM(B.金额)-SUM(B.金额) AS 金额
FROM dbo.出库 A INNER JOIN
dbo.入库 B ON A.商品名称 = B.商品名称 AND A.商品规格 = B.商品规格
GROUP BY A.商品名称,A.商品规格,A.单位名称
ORDER BY A.商品名称,A.商品规格,A.单位名称
这样应该可以了吧
商品名称 char(20),
商品规格 char(50),
单位名称 char(10),
仓库编号 char(10),
物料类型 char(10),
数量 numeric(11,3),
金额 numeric(11,3))
create table [出库](
商品名称 char(20),
商品规格 char(50),
单位名称 char(10),
仓库编号 char(10),
物料类型 char(10),
数量 numeric(11,3),
金额 numeric(11,3))
insert into 入库
select 'AA','6*1KG','箱','0001','01',100,8888
union all
select 'AB','6*1KG','箱','0002','01',100,8888
union all
select 'AA','3*1KG','箱','0001','02',100,4444
union all
select 'AB','3*1KG','箱','0002','02',100,4444
union all
select 'AB','6*1KG','箱','0003','03',100,8888
union all
select 'AA','3*1KG','箱','0004','04',100,4444
union all
select 'AB','3*1KG','箱','0005','05',100,4444
go
insert into 出库
select 'AA','6*1KG','箱','0001','01',50,4444
union all
select 'AB','6*1KG','箱','0001','01',50,4444
union all
select 'AA','3*1KG','箱','0002','02',200,8888
union all
select 'AB','3*1KG','箱','0002','02',200,8888
union all
select 'AB','6*1KG','箱','0006','06',100,8888
union all
select 'AA','3*1KG','箱','0005','07',100,4444
union all
select 'AB','3*1KG','箱','0004','08',100,4444
go
SELECT A.商品名称,A.商品规格,A.单位名称,A.仓库编号,SUM(B.数量)-SUM(A.数量)AS 数量,
SUM(B.金额)-SUM(A.金额) AS 金额
FROM dbo.出库 A INNER JOIN
dbo.入库 B ON A.商品名称 = B.商品名称 AND A.商品规格 = B.商品规格 AND A.仓库编号=B.仓库编号
GROUP BY A.商品名称,A.商品规格,A.单位名称,A.仓库编号
ORDER BY A.商品名称,A.商品规格,A.单位名称,A.仓库编号 drop table 入库
drop table 出库 /*
商品名称 商品规格 单位名称 仓库编号 数量 金额
AA 6*1KG 箱 0001 50.000 4444.000
AB 3*1KG 箱 0002 -100.000 -4444.000
*/
请问你是要这样的结果吗?