表A:
ID NAME
1 广州
2 深圳
3 佛山表B:
ID ADDRESS A_ID
1 天河北路 1
2 天河南路 1
3 深南大道 2
4 南海南一路 3
如何得到如下的查询:所有地区
广州
--天河北路
--天河南路
深圳
--深南大道
佛山
--南海南一路即是按表A的地区分类呢?
ID NAME
1 广州
2 深圳
3 佛山表B:
ID ADDRESS A_ID
1 天河北路 1
2 天河南路 1
3 深南大道 2
4 南海南一路 3
如何得到如下的查询:所有地区
广州
--天河北路
--天河南路
深圳
--深南大道
佛山
--南海南一路即是按表A的地区分类呢?
怎么说也好几年了怎么sql这么差
Select [Name],[Address] From @B b Left Join @A a On b.A_ID=a.ID
--> Test Data: @A
declare @A table ([ID] int,[NAME] varchar(4))
insert into @A
select 1,'广州' union all
select 2,'深圳' union all
select 3,'佛山'
--> Test Data: @B
declare @B table ([ID] int,[ADDRESS] varchar(10),[A_ID] int)
insert into @B
select 1,'天河北路',1 union all
select 2,'天河南路',1 union all
select 3,'深南大道',2 union all
select 4,'南海南一路',3--select * from @A
--select * from @B
--Code
select [NAME] as 所有地区 from
(
Select ltrim(id) as ID,[Name] from @A
union all
select ltrim(a.id)+ltrim(A_ID),'--'+[Address] From @B b,@A a where b.A_ID=a.ID
) t
order by id--Drop--Result
/*
所有地区
------------
广州
--天河北路
--天河南路
深圳
--深南大道
佛山
--南海南一路*/