求一省市县查询的sql语句,在线等。

Juchiyufei 2012-08-31 06:34:53
表1: chinaArea
字段: AreaID, AreaName ParentID

以这样的形式来记录省,以及省下面的市,以及市下面的县。

表2: test
字段: id, Point AreaId (一般是县的areaid)

现在我想查询出下面的效果。

id, point, AreaId, AreaName.

注: AreaName为(市/县)格式,如:

1 ss 深圳市/南山区
2 dd 广州市/白云区


下面的sql查询结果为: 广州市/白云区 (2172是白云区的id)
select (select AreaName from ChinaArea where AreaId = (select ParentID from ChinaArea where Areaid=2172)) + ' / ' + (select AreaName from ChinaArea where Areaid=2172) as a

但现在怎么把它跟表2关联,查询出id, point, AreaId, AreaName的效果?



...全文
571 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Juchiyufei 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

BOM的帖子蛮多。2K的数据库的话不好整。
[/Quote]

????
SQL77 2012-08-31
  • 打赏
  • 举报
回复
BOM的帖子蛮多。2K的数据库的话不好整。
  • 打赏
  • 举报
回复
给你个例子参考下


create table hf
(Dept_code varchar(10),
parent varchar(10),
地点 varchar(10))

insert into hf
select '1', null, '中国' union all
select '100', '1', '广东' union all
select '101', '1', '安徽' union all
select '102', '1', '河南' union all
select '103', '1', '河北' union all
select '10001', '100', '深圳' union all
select '10002', '100', '广州' union all
select '1000101', '10001', '深圳A区' union all
select '1000102', '10001', '深圳B区'


;with t as
( select 1 leave,parent,地点,cast('' as varchar(10)) r from hf a
union all
select t.leave+1 leave,c.parent,t.地点 '地点',c.地点 r
from hf c
inner join t on c.Dept_code=t.parent
)
select f.Dept_code,f.parent,f.地点,g.paths '地点路径'
from hf f
inner join
(select d.地点,
stuff((select '/'+r from t e
where e.地点=d.地点
order by leave desc
for xml path('')),1,1,'')+d.地点 'paths'
from t d group by d.地点) g
on f.地点=g.地点

/*
Dept_code parent 地点 地点路径
---------- ---------- ---------- --------------------------
1 NULL 中国 中国
100 1 广东 中国/广东
101 1 安徽 中国/安徽
102 1 河南 中国/河南
103 1 河北 中国/河北
10001 100 深圳 中国/广东/深圳
10002 100 广州 中国/广东/广州
1000101 10001 深圳A区 中国/广东/深圳/深圳A区
1000102 10001 深圳B区 中国/广东/深圳/深圳B区

(9 row(s) affected)
*/


Juchiyufei 2012-08-31
  • 打赏
  • 举报
回复
现在我想查询出下面的效果:
id, point, AreaId, AreaName.

注: AreaName为(市/县)格式,如:

1 ss 2133 深圳市/南山区
2 dd 2172 广州市/白云区

上面少了一个AreaID,不好意思。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧