[英]SQL to check if exists with condition or not exists
我有以下情況:
我想select a mission from a table(missions) for a user (userID=?)
,或者如果用戶未分配給任何任務,我將 select 所有任務。
這可以通過 2 個查詢來實現:
Select * from missions where userID = :ID
如果(結果為空)
Select * from missions
如果可能的話,我想要這些 2 SQL 在一個 SQL 中
我換句話。 用戶可以使用管理員分配的 select 郵件,也可以處理所有郵件。
你可以試試:
SELECT *
FROM missions
WHERE
userID = :ID OR
NOT EXISTS (SELECT 1 FROM missions WHERE userID = :ID);
如果userID =:ID
存在一個或多個記錄,則這些記錄的第一個條件將為真,並且存在條件也將為假,因此被忽略。 如果userID =:ID
不存在任何記錄,則第一個條件將始終為假,因此被忽略,而第二個條件將始終為真,從而返回整個表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.