mysql两张表查询 多个字段 怎么查询

假如两个表 一个是用户表一个是城市表

City表(所有的省市区都存在一个表里面 通过upid来区分省市区)

id name upid
1 四川省 0
2 成都市 1
3 金牛区 2

然而用户表user中的字段里有

uid name province city district
1 测试 1 2 3

用户表中province city district对应的就是City表的id序号

那么我查询用户表的时候如何输出

1 测试 四川省 成都市 金牛区

3个回答

你的upid,province,city,district字段都是int型的吧,如果upid是按0表示省,1表示市,2表示区的话
select uid,name,
(select name from city c where c.id = u.province and c.upid = 0),
(select name from city c where c.id = u.city and c.upid = 1),
(select name from city c where c.id = u.district and c.upid = 2)
from user u
图片说明

Select user.name,
(Select City.name as province from City where id=user.province),
(Select City.name as city from City where id=user.city),
(Select City.name as district from City where id=user.district)
From user

通过两张表的关联字段查,要不给张中间表,要不给个关联字段

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐