dsum()究竟怎么用?

southdoor 2004-12-01 10:56:44
"select 品牌,规格型号,花纹,dsum(数量,b?,操作类别='买') as 进货数量," & _
"dsum(进价金额,b?,操作类别='买') as 进价金额," & _
"dsum(数量,b?,操作类别='卖') as 销售数量" & _
"into a from b " & _
"group by 品牌,规格型号,花纹"
-------------------------------------
总是提示dsum参数错误
...全文
728 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
southdoor 2004-12-05
  • 打赏
  • 举报
回复
To:changechange
-----------------------------
非常高兴能过,但结果不是我想要的,因为,a表中进货数量,进价金额,销售数量对全部记录都是一样的.是先统计后分组赋值的.
并没有按分组后的结果进行统计求和.
怎么办?
OracleRoob 2004-12-02
  • 打赏
  • 举报
回复
一般不在SQL中用dsum(),在VBA代码中用,比如:求某一品牌1所有操作类型='买'的进货数量:
dsum("数量","B","操作类别 = '买' and 品牌 = 1")
southdoor 2004-12-02
  • 打赏
  • 举报
回复
谢谢
那请问dsum在什么情况下用,dsum能解决问题吗?
OracleRoob 2004-12-02
  • 打赏
  • 举报
回复
应该这样用:
select 品牌,规格型号,花纹,
sum(iif(操作类别='买',数量,0)) AS 进货数量,
sum(iif(操作类别='买',进价金额,0)) AS 进货金额,
sum(iif(操作类别='卖',数量,0)) AS 销售数量
into a
from b
group by 品牌,规格型号,花纹
OracleRoob 2004-12-02
  • 打赏
  • 举报
回复
To:changechange

下面也可以啊,只是结果数据没什么用罢了!

select 品牌,
规格型号,
花纹,
dsum(数量,'b',操作类别='买') as 进货数量,
dsum(进价金额,'b',操作类别='买') as 进价金额2,
dsum(数量,'b',操作类别='卖') as 销售数量
from b
changechange 2004-12-02
  • 打赏
  • 举报
回复
"select 品牌,规格型号,花纹,dsum(""数量"",""b"",""操作类别='买'"") as 进货数量," & _
"dsum(""进价金额"",""b"",""操作类别='买'"") as 进价金额," & _
"dsum(""数量"",""b"",""操作类别='卖'"") as 销售数量" & _
"into a from b " & _
"group by 品牌,规格型号,花纹"

注意!对 DSUM 来说,它的参数永远是文字
OracleRoob 2004-12-02
  • 打赏
  • 举报
回复
因为dsum()不是聚合函数,所以不太好实现
southdoor 2004-12-02
  • 打赏
  • 举报
回复
或者说,在access中能实现吗
southdoor 2004-12-02
  • 打赏
  • 举报
回复
我其实就是在access中用
能将上面的要求用dsum写出来吗?
谢谢

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧