我需要从库存历史记录表中选择数据。我的查询的主要部分将提取:
select *
from inv_history
where updated_date between '2-sep-14' and '8-sep-14'
and inv_STATUS = 'ON HAND'
然后我还需要在状态转到“手上”之前包含此数据的记录。任何提示将不胜感激。
答案 0 :(得分:0)
AFTER UPDATE
更改为inv_status
时引入ON HAND
触发器
This链接可以帮助您。
答案 1 :(得分:0)
where updated_date between '2-sep-14' and '8-sep-14'
您的查询谓词不正确。您必须将TO_DATE
应用于日期文字。
要回答有关在状态为“ON HAND”之前包含记录的问题,请使用UNION ALL
将以下查询添加到您的查询中:
select *
from inv_history
where updated_date > ( select min(updated_date) from inv_history where between inv_STATUS = 'ON HAND')
我宁愿使用subquery factoring
将inv_history中的行设为:
with data as(
Select * from inv_history
where inv_status= 'ON_HAND'
使用上面一次而不是两次访问inv_history。