注册 登录
编程论坛 SQL Server论坛

求助SQL累加问题(有一定的难度)

不惑 发布于 2007-04-11 14:19, 3495 次点击
因为使用绑定ADODC方法写程序,所以只能用一句SQL语句的办法来实现以下的功能,可我就是想不出什么样才能实现用一句SQL达到以下功能:
功能是:单种商品的进出存表.
比如
商品名 进货量 出货量 库存量
a 10 10
a 1 9
a 20 29
a 25 4
b 5 5
b 2 3
前三个字段为数据库现有字段,最后这个库存量需要SQL语句根据进货量和出货量来自动送出(必须是自动,因为会有修改和删除的可能).
要什么样才能用一句实现这个库存量的送出啊?
22 回复
#2
不惑2007-04-11 14:22
对了,因为绑定,需要在同一ADODB.Recordset中
就是以上表格用SQL语句送到一个Recordset中,前三个字段为库中有,第四个要根据进货量和出货量来as库存量.
#3
徐强2007-04-11 14:29
是很难,现在还没思路等版主给你解答吧
#4
棉花糖ONE2007-04-11 14:37

没主键一句估计实现不了,如果有主键的话行

#5
Kendy1234562007-04-11 14:42
绑定一个存储过程
#6
不惑2007-04-11 15:00
棉花糖:库表中有主键ID,可以引用,你帮我试试.
其实库表中还有其它好多字段,只是为了清楚说明我的问题其它字段我就不说了.
存储过程不太熟,用不太来

[此贴子已经被作者于2007-4-11 15:06:11编辑过]

#7
不惑2007-04-11 15:14
哎,我看还是改变编程方法算了,不用ADODE来绑定了,还是手写送出去得了.只是写程序麻烦一点(相对要想出这句SQL来说可能是简单一点了),显示速度有点影响.
#8
棉花糖ONE2007-04-11 15:16
把id的值也给出几个看看
#9
Kendy1234562007-04-11 15:16

最方便的法子就是绑定存储过程

不会就学啊 你以后也要用到数据库的

#10
不惑2007-04-11 15:17
ID是自动编号的1\2\3\4啊.
#11
不惑2007-04-11 15:19
商品名 进货量 出货量 库存量 id
a 10 10 3
a 1 9 15
a 20 29 20
a 25 4 42
b 5 5 1
b 2 3 33
比如上图
#12
Kendy1234562007-04-11 15:21

我感觉一句sql是实现不了你这个明细账的

#13
棉花糖ONE2007-04-11 15:40
if object_id('test') is not null
drop table test
go
create table test(id int identity,name char(1),i int,o int)
insert into test select 'a',10,null
union all select 'a',null,1
union all select 'a',20,null
union all select 'a',null,25
union all select 'b',5,null
union all select 'b',null,2
select name as 货物名称 ,isnull(i,' ') as 进货量 ,isnull(o,' ') as 出货量 ,库存量=(select sum(isnull(i,0))-sum(isnull(o,0)) from test where id<=t.id and name=t.name) from test t
货物名称 进货量 出货量 库存量
---- ----------- ----------- -----------
a 10 0 10
a 0 1 9
a 20 0 29
a 0 25 4
b 5 0 5
b 0 2 3
#14
棉花糖ONE2007-04-11 15:40
只不过空的那些全变成0了
#15
不惑2007-04-11 22:28
变成零应该不是问题,意思还是对的.
你的思路不错,我先试试,无任如何都先谢了!!!!
我还没用过这个:
字段名=筛选内容
的方法,这样也可以吗?
我从来没试过
#16
不惑2007-04-11 22:49
棉花糖ONE,谢谢!!!
一切顺利,又学了一招!
#17
豆芽的天空2007-04-12 15:06

你要的结果是出来了,可是怎么这样子来设计表呢?该不会又是学校出的题吧

#18
棉花糖ONE2007-04-12 15:49
结构有问题,如果像你这么说要做报表进行行列转换什么的都是表结构有问题
#19
豆芽的天空2007-04-12 16:37
我不是这个意思!该怎么说呢?等你做了一两个项目之后就会明白了!
#20
初学Delphi2007-04-13 09:18
我开始以为是在表中直接显示你查询的结果

也就是说设计表的时候带着剩余那一列
#21
不惑2007-04-13 15:54
你们讨论什么呢?我什么听不明白?
#22
tom6543212007-06-03 15:01
o 也学习了,有难度
#23
fqbnet20082007-06-05 11:49

高!!!!!!!!!

1