如果左表有多个字段与其他表关联,如何使用左连接?

fumotvh3  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(317)

我有两个表:user表的user和city字段:

user_id, user_birth_city, user_current_city, user_school_city

用户表字段:

city_id, city_name

如何显示用户的所有三个城市的名称?

trnvg8h3

trnvg8h31#

使用 LEFT JOIN 在table上 city 三次就可以了

SELECT u.user_id,c1.city_name,c2.city_name,c3.city_name 
  FROM user u
  LEFT JOIN city c1 ON u.user_birth_city=c1.city_id
  LEFT JOIN city c2 ON u.user_current_city=c2.city_id
  LEFT JOIN city c3 ON u.user_school_city=c3.city_id

笔记: user 有一张预订的table吗 MySQL ,您的表名不应该是它

5cnsuln7

5cnsuln72#

Select b.city_id, b.city_name from user_table a, city_table b where 
(a.user_birth_city=b.city_name OR a.user_current_city=b.city_name OR 
a.user_school_city=b.city_name) AND user_id='(whatever your user_id is)';

sql人员会评论说,由于from中的逗号,这个查询不会工作,但我向您保证,它会工作的。

相关问题