簡體   English   中英

SQL 檢查是否存在條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM