dsum()究竟怎么用?
"select 品牌,规格型号,花纹,dsum(数量,b?,操作类别='买') as 进货数量," & _
"dsum(进价金额,b?,操作类别='买') as 进价金额," & _
"dsum(数量,b?,操作类别='卖') as 销售数量" & _
"into a from b " & _
"group by 品牌,规格型号,花纹"
-------------------------------------
总是提示dsum参数错误
问题点数:20、回复次数:9Top
1 楼wangtiecheng(不知不为过,不学就是错!)回复于 2004-12-02 09:50:05 得分 15
应该这样用:
select 品牌,规格型号,花纹,
sum(iif(操作类别='买',数量,0)) AS 进货数量,
sum(iif(操作类别='买',进价金额,0)) AS 进货金额,
sum(iif(操作类别='卖',数量,0)) AS 销售数量
into a
from b
group by 品牌,规格型号,花纹
Top
2 楼southdoor(南门)回复于 2004-12-02 10:22:54 得分 0
谢谢
那请问dsum在什么情况下用,dsum能解决问题吗?Top
3 楼wangtiecheng(不知不为过,不学就是错!)回复于 2004-12-02 10:39:45 得分 0
一般不在SQL中用dsum(),在VBA代码中用,比如:求某一品牌1所有操作类型='买'的进货数量:
dsum("数量","B","操作类别 = '买' and 品牌 = 1")Top
4 楼southdoor(南门)回复于 2004-12-02 14:43:53 得分 0
我其实就是在access中用
能将上面的要求用dsum写出来吗?
谢谢
Top
5 楼southdoor(南门)回复于 2004-12-02 14:45:04 得分 0
或者说,在access中能实现吗Top
6 楼wangtiecheng(不知不为过,不学就是错!)回复于 2004-12-02 15:58:20 得分 0
因为dsum()不是聚合函数,所以不太好实现Top
7 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2004-12-02 16:09:40 得分 5
"select 品牌,规格型号,花纹,dsum(""数量"",""b"",""操作类别='买'"") as 进货数量," & _
"dsum(""进价金额"",""b"",""操作类别='买'"") as 进价金额," & _
"dsum(""数量"",""b"",""操作类别='卖'"") as 销售数量" & _
"into a from b " & _
"group by 品牌,规格型号,花纹"
注意!对 DSUM 来说,它的参数永远是文字Top
8 楼wangtiecheng(不知不为过,不学就是错!)回复于 2004-12-02 21:42:02 得分 0
To:changechange
下面也可以啊,只是结果数据没什么用罢了!
select 品牌,
规格型号,
花纹,
dsum(数量,'b',操作类别='买') as 进货数量,
dsum(进价金额,'b',操作类别='买') as 进价金额2,
dsum(数量,'b',操作类别='卖') as 销售数量
from b
Top
9 楼southdoor(南门)回复于 2004-12-05 10:54:00 得分 0
To:changechange
-----------------------------
非常高兴能过,但结果不是我想要的,因为,a表中进货数量,进价金额,销售数量对全部记录都是一样的.是先统计后分组赋值的.
并没有按分组后的结果进行统计求和.
怎么办?Top




