我需要帮助查询我的表'ITEM'的字段:ID,NAME,STATUS,RECEIVED_AT(TIMESTAMP).
我需要获取status ='cancel'的所有记录,但前提是此表中有另一条记录,其中status ='available'且具有较早的received_at日期.我没有足够的经验来创建正确的查询,但希望有人帮助我正确的查询或指导我到一个解释基本SQL查询的网站,以便我可以学习.
天真(即字面上且没有优化 - 请注意谓词与ITEM表的当前版本相关):
SELECT *
FROM ITEM AS current
WHERE current.status = 'canceled'
AND EXISTS (
SELECT *
FROM ITEM AS earlier
WHERE earlier.status = 'available'
AND earlier.RECEIVED_AT < current.RECEIVED_AT
)
Run Code Online (Sandbox Code Playgroud)