MySQL动态选择连接中的字段?

时间:2011-12-09 07:57:29

标签: mysql

我希望动态选择连接查询中的特定列,如果另一个的值不等于0,则只选择特定字段。

所以这就是我的目标。

该查询使用以下3个表,用户 - 学校 - 校园

我想从用户中选择所有数据,如果用户的campus_id字段不等于0,那么我想在校园中包含校园名称字段,其中campuses.id = users.campus_id,如何我会这样做吗?

2 个答案:

答案 0 :(得分:2)

您可以使用CASE WHEN

SELECT column1, column2, (CASE WHEN U.campus_id<>0 THEN campus_name) FROM USERS U, CAMPUSES C
WHERE (U.campus_id <>0 AND C.id=U.campus_id)

答案 1 :(得分:0)

select * from users u  
left join campuses c on (u.campus_id = c.id)