我有一個查詢:查詢來獲取這是大於零ANS最低值不爲空
SELECT
taskDeadline,
subtasksDeadline,
REPLACE(
LEAST(
COALESCE(t.deadline, 2147483647),
COALESCE(sub.deadline, 2147483647)
), 2147483647, NULL
) AS Deadline
FROM
tasks t
LEFT OUTER JOIN subtasks sub ON sub.task_id = t.id
這產生的結果是這樣的:
taskDeadline | subtasksDeadline | Deadline
1338501600 | 1333058400 | 1333058400
1334268000 | NULL | 1334268000
NULL | 1328050800 | 1328050800
NULL | NULL | NULL
1353798000 | 0 | 0
0 | 1353798000 | 0
我幾乎沒有。我用2147483647的數據類型(mysql的INT)的最大值,我仍然有唯一的問題是,如果我有兩個值,其中一個是0,我想其他的價值。我花了一些時間,但無法到達那裏。有人可以闡明這一點嗎?
快速簡單。我喜歡這個解決方案。不知道關於NULLIF,非常感謝! – Leonard 2012-03-13 13:54:54