三级地区存放在一张表中,按照国家-省份-市级查出来
来源:互联网 发布:caffe bene 菜单 编辑:程序博客网 时间:2024/04/29 07:14
下面region为区域表,其中parentid为该区域的上级区域id,怎样写一条sql可以获取每个城市的信息,格式如:中国 安微省 广州市。
SELECT r2.`name` 'country', r1.`name` 'province', r.`name` 'city'
FROM `region` r
INNER JOIN `region` r1 ON r.parentid = r1.id
INNER JOIN `region` r2 ON r1.parentid = r2.id
SELECT r2.`name` 'country', r1.`name` 'province', r.`name` 'city'
FROM region r
INNER JOIN (
SELECT id, `name` , parentid
FROM region
INNER JOIN (
SELECT id, `name`
FROM region
执行结果如下:
用LEFT JOIN如下:
SELECT r2.`name` '国家', r1.`name` '省级', r.`name` '市级'
FROM region r
LEFT JOIN (
SELECT id, `name` , parentid
FROM region
LEFT JOIN (
SELECT id, `name` , parentid
FROM region
WHERE r.parentid <> ''
AND r1.parentid <> '';
下面member为会员表,其中country、province及city都是关联的区域表中的id,怎样用一条sql取出用户的信息,格式如:张三 中国 安微省 合肥市
SELECT m.`name` AS 'userName', r2.name AS 'country', r1.name AS 'province', r.name AS 'city'
FROM `member` m
INNER JOIN `region` r ON m.`city` = r.id
INNER JOIN `region` r1 ON m.`province` = r1.id
INNER JOIN `region` r2 ON m.`country` = r2.id
FROM `member` m
INNER JOIN `region` r ON m.`city` = r.id
INNER JOIN `region` r1 ON m.`province` = r1.id
INNER JOIN `region` r2 ON m.`country` = r2.id
SELECT m.`name` AS 'userName', r2.name AS 'country', r1.name AS 'province', r.name AS 'city'
FROM `member` m
LEFT JOIN (
SELECT id, name
FROM `region`)r ON m.`city` = r.id
LEFT JOIN (
SELECT id, name
FROM `region`)r1 ON m.`province` = r1.id
LEFT JOIN (
SELECT id, name
FROM `region`)r2 ON m.`country` = r2.id
FROM `member` m
LEFT JOIN (
SELECT id, name
FROM `region`
LEFT JOIN (
SELECT id, name
FROM `region`
LEFT JOIN (
SELECT id, name
FROM `region`
执行效果如下:(用INNER JOIN、LEFT JOIN均可以)
0 0
- 三级地区存放在一张表中,按照国家-省份-市级查出来
- 获取当前国家省份地区
- ajax 省份地区三级联动
- javascript 省份城市地区三级联动菜单
- SQL实现在一张表中查出最新时间的结果集
- 得到真实外网IP、IP所在国家、省份、地区
- 得到真实外网IP、IP所在国家、省份、地区
- 得到真实外网IP、IP所在国家、省份、地区
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- sql 查出一张表中重复的所有记录数据
- linux抓包分析
- 如何成为一个优秀的java程序员
- BO笔记
- 原来这就是我们买不起房的原因!
- 教你自制ST-LinkV2下载器
- 三级地区存放在一张表中,按照国家-省份-市级查出来
- 简易的命令行入门教程<开源中国>
- 字符串拼接
- Bundle传值,页面跳转返回值,频繁切换图片和显示密码---------handlerObtainMessage--Sendtotarget
- Linux 局域网内服务器时间同步
- Android画桌子椅子的方法面板和画笔(二)
- 异常基础
- Spring-MyBatis实战之 Manual close is not allowed over a Spring managed SqlSession
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系