我正在尝试编写一个查询,如果在某个日期/时间找到另一个表中的一行,则它会省略它,但如果确实如此,它会包含它。
它目前省略了该行,但如果在某个日期/时间未找到,则不包括它。我该如何纠正这个问题?
SELECT * FROM ts_room
WHERE
id <>
(SELECT status
FROM ts_request rq
LEFT JOIN ts_allocation a ON a.request_id = rq.id
WHERE
day_id=1 AND period_id=2
OR a.status IS NOT NULL
AND a.status IN ('Pending','Declined','Failed'))
这是我的 SQL 小提琴http://sqlfiddle.com/#!2/c8da9/49