文章详情页
mysql - sql查询语句问题
浏览:223日期: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. 把h5放入webview里面,h5页面上下可以回弹,怎么可以去掉该效果2. docker start -a dockername 老是卡住,什么情况?3. 关于docker下的nginx压力测试4. javascript - yo创建angular报错5. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果6. node.js - nojs的response.write()如何返回一个html7. javascript - 关于js原生事件的绑定与解除绑定8. docker网络端口映射,没有方便点的操作方法么?9. css3 - 没明白盒子的height随width的变化这段css是怎样实现的?10. python - celery beat 调度如何运行期间动态添加任务?
排行榜

网公网安备