文章详情页
mysql - sql查询语句问题
浏览:160日期: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:答案如@黄弘 所说。但更好的设计应该是区分三张表,因为省、市、县基本就是常量表,基本不会发生改变,用不同的表存储会比较好。
相关文章:
1. angular.js - angular内容过长展开收起效果2. nignx - docker内nginx 80端口被占用3. docker - 如何修改运行中容器的配置4. angular.js - angularjs的自定义过滤器如何给文字加颜色?5. debian - docker依赖的aufs-tools源码哪里可以找到啊?6. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?7. mac里的docker如何命令行开启呢?8. 为什么我ping不通我的docker容器呢???9. 数据库 - mysql中怎样修改带点的字段名的位置?10. golang - 用IDE看docker源码时的小问题
排行榜

网公网安备