我正在尝试构建一个查询来更新一个表,其中包含收到项目的日期。数量将从零变为非零数字。我们每天都会存储系统中每个项目的记录。
到目前为止我已经
了 SELECT dw1.system_id, dw1.item, dw2.date
FROM dw_inventory_detail dw1
INNER JOIN dw_inventory_detail dw2 ON dw2.item = dw1.item AND dw2.system_id = dw1.system_id AND dw1.quantity != dw2.quantity
WHERE dw1.system_id = '010000'
AND dw1.item = 'AGRS'
AND dw1.quantity = 0
这给了我
这几乎是正确的,但每次数量变化时它都会给我一行。我只需要数量从零到非零的日期。
我还没有开始查询的更新部分。我需要先让这部分工作。
原始数据看起来像这样
答案 0 :(得分:1)
SELECT dw1.system_id, dw1.item, dw2.date
FROM dw_inventory_detail dw1
INNER JOIN dw_inventory_detail dw2 ON dw2.item = dw1.item
AND dw2.system_id = dw1.system_id
AND dw1.quantity != dw2.quantity
AND (dw1.quantity = 0 OR dw2.quantity = 0)
WHERE dw1.system_id = '010000'
AND dw1.item = 'AGRS'
注意添加了AND (dw1.quantity = 0 OR dw2.quantity = 0)