2015-12-20 86 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