标题:關於字段相加重復的函數
只看楼主
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
结帖率:50%
 问题点数:0 回复次数:1 
關於字段相加重復的函數

detail_id(int) month1(int) mat (varchar(20)) qty(numeric(18,4))

84 1 Y005000033 6.0000
85 1 SF20512 .0000
86 1 P005000010 .0000
87 1 P012000035 22.5000
88 2 SF21936 22.5000
89 2 SF21936 2.0000
90 2 P001000016 23.5200
91 2 Y001000015 10.0800

當detail_id字段不重復,month1與mat這兩個字段重復時,將qty字段的數據相加
如上表變成如下的表,請問如何實現

detail_id(int) month1(int) mat (varchar(20)) qty(numeric(18,4))

84 1 Y005000033 6.0000
85 1 SF20512 .0000
86 1 P005000010 .0000
87 1 P012000035 22.5000
88 2 SF21936 24.5000
89 2 SF21936 24.5000
90 2 P001000016 23.5200
91 2 Y001000015 10.0800
我用如下函數實現時出qty為空的現象
CREATE function f_str1(@detail_id int,@mat varchar(20),@month1 int )
returns numeric(18,4)
as
begin
declare @qty numeric(18,4)
select @qty =@qty +qty from MC_Scheduler_In where detail_id<>@detail_id and mat=@mat and month1=@month1
return @qty
end
結果是這樣,請問是哪 兒出了問題,但是我在做字符相加時用相似的函數又沒有問題。
detail_id mat month1 qty
84 Y005000033 1 NULL
85 SF20512 1 NULL
86 P005000010 1 NULL
87 P012000035 1 NULL
88 SF21936 2 NULL
89 SF21936 2 NULL
90 P001000016 2 NULL
91 Y001000015 2 NULL

搜索更多相关主题的帖子: 字段 
2007-06-09 09:07
sky_yang_sky
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:481
专家分:16
注 册:2007-5-30
得分:0 

大家有什麼好方法只要可以實現都行,不一定要函數,用游標什麼的都可以。謝了


你微笑的面對整個世界,整個世界也將會微笑的面對你。
2007-06-09 09:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-146073-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.458786 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved