以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于统计库存的sql代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104341) |
||||
-- 作者:yjf123 -- 发布时间:2017/7/27 15:53:00 -- 关于统计库存的sql代码 关于统计库存的sql代码,会出现重复数据,怎么处理? S.elect c.品号,c.品名,c.规格,c.成份,c.成品克重,c.成品门幅,b.入库数,b.出库数,b.库存数,c.入库单位 as 单位 from {YW_样品入库单明细} As c right JOIN(S.elect a.品号,sum(入库数) as 入库数 ,sum(出库数) as 出库数,(isnull(sum(入库数),0)-isnull(sum(出库数),0)) as 库存数 from( S.elect {YW_样品入库单明细}.品号,入库数,出库数 From {YW_样品入库单明细} Left JOIN {YW_样品出库单明细} ON {YW_样品出库单明细}.[品号] = {YW_样品入库单明细}.[品号]) as a group by 品号) As b ON c.[品号] =b.[品号]
此主题相关图片如下:qq截图20170727155321.jpg |
||||
-- 作者:yjf123 -- 发布时间:2017/7/27 16:51:00 -- 顶 |
||||
-- 作者:有点甜 -- 发布时间:2017/7/27 17:19:00 -- 你思路有问题。你应该把出库表和入库表union all之后,再分组的。
如 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=104253&skin=0
|
||||
-- 作者:yjf123 -- 发布时间:2017/7/28 15:48:00 -- s.elect b.品号,c.品名 from {YW_样品入库单明细} As c right join (S.elect a.品号,sum(入库数) As 入库数,sum(出库数) As 出库数 from (S.elect 品号,入库数,0 As 出库数 from {YW_样品入库单明细} UNION ALL S.elect 品号,0,出库数 from {YW_样品出库单明细}) as a group by 品号) as b on b.品号=c.品号
这样写也还有重复的呀 |
||||
-- 作者:有点甜 -- 发布时间:2017/7/28 17:30:00 -- 最后你用 join 肯定会重复啊。只要你左表或右表重复,都会重复。
我是叫你最后直接分组。不会写上传实例。 |
||||
-- 作者:yjf123 -- 发布时间:2017/7/29 9:38:00 -- 如果最后分组,但怎么加上其它字段呀,不是一样要join吗 [此贴子已经被作者于2017/7/29 9:38:17编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/7/29 10:23:00 -- 换下位置,用left join (S.elect a.品号,sum(入库数) as 入库数 ,sum(出库数) as 出库数,(isnull(sum(入库数),0)-isnull(sum(出库数),0)) as 库存数 from( S.elect {YW_样品入库单明细}.品号,入库数,出库数 From {YW_样品入库单明细} Left JOIN {YW_样品出库单明细} ON {YW_样品出库单明细}.[品号] = {YW_样品入库单明细}.[品号]) as a group by 品号) As b left JOIN S.elect c.品号,c.品名,c.规格,c.成份,c.成品克重,c.成品门幅,b.入库数,b.出库数,b.库存数,c.入库单位 as 单位 from {YW_样品入库单明细} As c ON c.[品号] =b.[品号]
|
||||
-- 作者:yjf123 -- 发布时间:2017/7/29 13:13:00 -- 本来就是left不对才换right的,这个语句有问题 上传例子了 例子 [此贴子已经被作者于2017/7/29 13:59:46编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2017/7/29 15:11:00 -- select 品号,品名,规格,成份,成品克重,成品门幅,sum(入库数) as 入库数,sum(出库数) As 出库数 from (Select 品号,入库数,0 As 出库数,品名,规格,成份,成品克重,成品门幅 from YW_样品入库单明细 union all Select 品号,0 As 入库数,出库数,品名,规格,成份,成品克重,成品门幅 from YW_样品出库单明细) as a group by 品号,品名,规格,成份,成品克重,成品门幅 |