如果添加块代码

时间:2015-07-21 20:44:22

标签: mysql sql database

我有一个选择,我想通过左连接搜索一个表的列只有当用户启用essar搜索的前置条件作为添加表的条件我有点困惑,我不知道是否我分开搜索或者我一次做所有事情.... 他说让我看看mysql系统,但是我看到了

if .condition... then ... end if; 

我的代码

select user. * from
u user
if (u.visible == 1,
   left join houseUser hu on u.id = h.id_user
   left join h house on hu.id_house = h.id_house
)
where
u.age> 30

如果可见,添加该代码可以看到用户所在的房屋。

1 个答案:

答案 0 :(得分:0)

您可以将条件合并到on子句中:

select u.*, hu.*, h.*
from user u left join
     houseUser hu
     on u.id = h.id_user and u.visible = 1 left join
     h house
     on hu.id_house = h.id_house and u.visible = 1
where u.age > 30;

列会返回,但NULL不是visible时,它们会1