簡體   English   中英

MySQL存儲過程與if語句

[英]MySQL stored procedure with if statement

我在MySQL中有以下存儲過程

SELECT *
    FROM rewards
        LEFT JOIN tasks
        ON tasks.id = rewards.task_id
        AND rewards.received_at = received_Date
    WHERE tasks.kid_id = kid_Id
    ORDER BY tasks.id ASC;

該存儲的過程有2個(IN)輸入, kid_Id (整數)和received_Date (日期),並能正常工作。

問題:我想要的是,如果received_DateNULL那么我想查看所有日期,這可能嗎?

換句話說:

AND rewards.received_at = received_Date如果我通過應只工作received_Date否則返回所有日期。

嘗試這個。 如果received_Date is null則在where clause使用OR運算符獲取所有行

SELECT *
    FROM rewards
        LEFT JOIN tasks
        ON tasks.id = rewards.task_id
                WHERE tasks.kid_id = kid_Id 
                AND (rewards.received_at = received_Date or received_Date = 0) 
    ORDER BY tasks.id ASC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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