|
请问一个关于查询分组的问题!
这个是小弟自动算结存的查询结果
序号 名称 规格 数量期初 金额期初 数量收入 金额收入 数量付出 金额付出 数量期末 金额期末
1 白泥 1*1 20 200 0 0 0 0 20 200
2 白泥 2*2 20 200 20 200 0 0 40 400
3 白泥 1*1 40 400 0 0 5 50 35 350
想达到的效果
序号 名称 规格 数量期初 金额期初 数量收入 金额收入 数量付出 金额付出 数量期末 金额期末
1 白泥 1*1 20 200 0 0 0 0 20 200
2 白泥 1*1 20 200 0 0 5 50 15 150
3 白泥 2*2 0 0 20 200 0 0 20 200
其实就是想要这个查询如何让同一名称不同规格的产品不要混在一起而是分开自动算结存.
就拿我上传的这个列子来说,我想让名称是白泥而规格是1*1的的两条记录和名称是白泥规格是2*2的那条分开算结存
就是想让同一名称但不同规格的分组来算结存.
请问基于我这个查询要如何实现这个功能呢?
下面是我的这个查询的SQL
SELECT (select count(*) from 基础查询 as b where b.名称ID=a.名称ID and b.日期<=a.日期) AS 序号, a.类型, a.名称ID, a.名称, a.规格, a.计量单位, a.日期, a.凭证号数, a.摘要, a.单价, 数量期末+数量付出-数量收入 AS 数量期初, 金额期末+金额付出-金额收入 AS 金额期初, a.数量收入, a.金额收入, a.数量付出, a.金额付出, (select sum(b.数量期初+b.数量收入-b.数量付出) from 基础查询 as b where b.名称ID=a.名称ID and b.日期<=a.日期) AS 数量期末, (select sum(b.金额期初+b.金额收入-b.金额付出) from 基础查询 as b where b.名称ID=a.名称ID and b.日期<=a.日期) AS 金额期末
FROM 基础查询 AS a;
这个是我的列子
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|