【发布时间】:2019-09-23 13:54:19
【问题描述】:
我有 1 个名为 itemmovement 的表:它有 Item Id、Quantity In、Quantity Out、Invoice Id、Date。 我需要在一个查询中显示已售出多少件,并且在已售列旁边会显示当前的现有数量。
物品移动
Id itemid qtyin qtyout invid 日期 1 1 10 2019-01-04 2 2 8 2019-01-06 3 2 2 1 2019-01-08 4 1 3 2 2019-01-12 5 2 1 2019-02-04 6 3 4 2019-03-04 7 1 1 3 2019-04-04我需要查询来显示这个结果
Id itemid 已售数量 OnHandQty 1 1 4 6 2 2 2 7 3 3 0 4我正在尝试使用此查询但不工作
选择 * 从 ( 选择 itmv.itemid,sum(itmv.qtyout)-sum(itmv.qtyin) FROM itemmoveitmv WHERE(itmv.systemdate BETWEEN '2019-01-01' AND '2019-06-01')和 显示>0 按 itmv.itemid 分组)作为结果 1, (选择总和(itmv2.qtyin)-总和(itmv2.qtyout) 来自 itemmovement itmv2 其中 itmv.itemid=itmv2.itemid 按 itmv2.itemid 分组)作为 result2 按 sum(itmv.qtyin)-sum(itmv.qtyout) 排序【问题讨论】:
-
什么不工作你得到一个错误或只是简单的无效结果?
-
我不明白您如何在结果集中获得
Id列的值。它只是结果的行号吗?否则我看不出Id = 3是如何给出itemid = 3的。 -
@Martin 他们是 3 个项目,所以 itemid 1 , 2 , 3 。对于 Id,它是查询的普通 Id,它不涉及任何内容。
-
@RaymondNijland 我得到的错误:'where 子句中的未知列'itmv.itemid' 用于此语法:where itmv.itemid=itmv2.itemid