我希望动态选择连接查询中的特定列,如果另一个的值不等于0,则只选择特定字段。
所以这就是我的目标。
该查询使用以下3个表,用户 - 学校 - 校园
我想从用户中选择所有数据,如果用户的campus_id字段不等于0,那么我想在校园中包含校园名称字段,其中campuses.id = users.campus_id,如何我会这样做吗?
答案 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)