2015-12-20 91 views
0

如何選擇列IF workspace.assigned_to = NULL否則不要選擇任何內容。在mysql中的SELECT中的IF語句

SELECT workspace.*, projects.*, 
    CASE 
    WHEN workspace.assigned_to != NULL 
    THEN users.user_id,users.first_name, users.last_name 
    END FROM workspace 
INNER JOIN projects ON workspace.workspace_id = projects.project_id 
INNER JOIN users ON workspace.assigned_to = users.user_id 
WHERE project_id=:project_id 
+0

什麼? – Terry

+0

我需要獲得所有結果。即使結果爲'worksapce.assigned_to = NULL'。 – user3284463

+0

但是在你的問題中,你說你不想在該列爲空時存在行。這不矛盾嗎? – Terry

回答

0
SELECT workspace.*, projects.*, 
    users.user_id,users.first_name, users.last_name 
FROM workspace 
INNER JOIN projects ON workspace.workspace_id = projects.project_id 
LEFT JOIN users ON workspace.assigned_to = users.user_id 
WHERE project_id=:project_id 

LEFT JOIN手段,我們通過assigned_to用戶加入,但如果它是空的用戶值a是零點有關使用`WHERE workspace.assigned_to!= NULL`

+0

哇,謝謝!真的很棒的想法 – user3284463