有一個查詢選擇一些數據。我創建了一個忽略包含特定數據的行的抑制表。根據不同的存在名稱查找符合某些限制的記錄
suppression: occasion_id | days_before
reminder: id | days_before | occasion_id
我正在利用NOT EXIST忽略某些提醒的選擇。
查詢是
SELECT id
from Reminder AS r
WHERE NOT EXIST (SELECT 1
FROM Suppression s
WHERE s.occasion_id = r.occasion_id
AND s.days_before = r.days_before)
Reminder:1) 101| 1 |18
2) 102| 7| 18
Suppresion: 18 | 1
首屆提醒應被忽略:第二個應該被包括在內。例如,如果抑制表包含occasion_id - 18和days_before-1,則select應忽略包含這些數據的提醒。
子查詢在第二次提醒的情況下也返回'1'。爲什麼即使WHERE子句後面的語句不會產生結果,它也會發生?
想我誤解你想要什麼。你可以給一些示例數據(或更好的,一個小小的sql小提琴),並顯示你想要檢索? –