文章详情页
mysql - sql查询语句问题
浏览:188日期: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. 修改mysql配置文件的默认字符集重启后依然不生效2. java - mybatis源码分析3. python相关问题求解决,有偿4. android - 安卓activity无法填充屏幕5. java - ehcache缓存用的是虚拟机内存么?6. java - MongoDB关闭连接7. css - 移动端h5播放器问题求解决,急急8. angular.js - 用angularjs的service封装百度地图api出错,请问原因?9. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?10. mysql - 数据库:获取两个字段与获取*,传输的数据量差距大吗?
排行榜

网公网安备