MySQL动态选择join中的字段?

MySQL动态选择join中的字段?,mysql,Mysql,我希望在联接查询中动态选择特定列,其中只有当另一个字段的值不等于0时,才会选择特定字段 这就是我要说的 查询使用以下3个表:用户-学校-校园 我想从用户中选择所有数据,如果用户的校园id字段不等于0,那么我想包括校园的校园名称字段,其中campuses.id=users.campus\u id,我将如何执行此操作?从用户中选择* 左连接校园c on(u.campus\u id=c.id) 当 SELECT column1, column2, (CASE WHEN U.campus_id<&

我希望在联接查询中动态选择特定列,其中只有当另一个字段的值不等于0时,才会选择特定字段

这就是我要说的

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

我想从用户中选择所有数据,如果用户的校园id字段不等于0,那么我想包括校园的校园名称字段,其中campuses.id=users.campus\u id,我将如何执行此操作?

从用户中选择*
左连接校园c on(u.campus\u id=c.id)

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)
从用户U、校园C中选择第1列、第2列(当U.campus\U id0时为案例,然后选择校园名称)
其中(U.campus\U id 0和C.id=U.campus\U id)

也许这会有帮助@布雷登:每个结果行必须具有相同的列数。如果校园id为0,您希望列的值是多少?此外,这也很重要。请包括表架构(如
CREATE table
statements)、样本数据(如
INSERT
statements)、尽可能多的查询、查询结果和所需结果。如果我想要超过1个where条件,我将如何做可能重复?@BraydonBatungbacal the you can use CASE WHEN。。。。然后。。。什么时候然后。。。。否则,请检查