您的位置:首页技术文章
文章详情页

mysql - sql查询语句问题

浏览:98日期:2022-06-20 08:51:54

问题描述

有两张表

tbl_user(uid,uname,province_id,city_id,area_id)tbl_area(id,aname,pid)

其中province_id,city_id,area_id全部为tbl_area表的主键id能不能通过一条sql语句查询出如下结果

uid,uname,province_name,city_name,area_name 1, 张三, 河北, 衡水, 饶阳

问题解答

回答1:

SELECT u.uid, u.uname, p.aname AS province_name, c.aname AS city_name, a.aname AS area_nameFROM tbl_user AS uLEFT JOIN tbl_area AS p ON p.id = u.province_idLEFT JOIN tbl_area AS c ON c.id = u.city_idLEFT JOIN tbl_area AS a ON a.id = u.area_idLIMIT 100回答2:

你确定上面的信息只通过2张表就能查询到?province_name,city_name,area_name这3字段都没出现!

回答3:

答案如@黄弘 所说。但更好的设计应该是区分三张表,因为省、市、县基本就是常量表,基本不会发生改变,用不同的表存储会比较好。

相关文章: