这个sql语句该怎么写? 急急,在线等
表数据如下:
地区代码 地区名称 上级地区
01 中国
02 北京 01
03 上海 01
04 广州 01
现在要用一个select语句查询出来如下结果
地区代码 地区名称 上级地区 上级地区名称
01 中国
02 北京 01 中国
03 上海 01 中国
04 广州 01 中国
请问如何写这个select语句???
问题点数:100、回复次数:5Top
1 楼wyb0026(小小)回复于 2005-08-01 09:00:57 得分 0
select a.地区代码 a.地区名称 a.上级地区 ,b.地区名称 as 上级地区名称
from tab a left join tab b on a.上级地区=b.地区代码
Top
2 楼wangdehao(找找找(现在很幸福))回复于 2005-08-01 09:02:35 得分 0
select a.*,b.地区名称 as 上级地区名称 from table a left join table b on a.上级地区=b.地区代码Top
3 楼tangqijun199(撒旦.冲上了5角还差一个猩猩,继续努力……)回复于 2005-08-01 09:04:28 得分 0
select 地区代码,地区名称,上级地区,(select 地区名称 from t1 where 地区代码=a.上级地区)
as 上级地区名称 from t1 aTop
4 楼wwwwb()回复于 2005-08-01 09:06:50 得分 0
select a.*,b.地区名称 as 上级地区名称 from t1 a inner join t2 b
on a.上级地区=b.地区代码
Top
5 楼vivianfdlpw()回复于 2005-08-01 09:16:39 得分 0
declare @tb table
(
[地区代码] varchar(10),
[地区名称] varchar(10),
[上级地区] varchar(10)
)
insert @tb
select '01','中国','' union
select '02','北京','01' union
select '03','上海','01' union
select '04','广州','01'
--查询
select *,
[上级地区名称]=isnull((select [地区名称] from @tb where [地区代码]=t.[上级地区]),'')
from @tb t
select a.*,[上级地区名称]=isnull(b.[地区名称],'')
from @tb a
left join @tb b
on a.[上级地区]=b.[地区代码]
--结果
/*
地区代码 地区名称 上级地区 上级地区名称
---------- ---------- ---------- ----------
01 中国
02 北京 01 中国
03 上海 01 中国
04 广州 01 中国
(所影响的行数为 4 行)
地区代码 地区名称 上级地区 上级地区名称
---------- ---------- ---------- ----------
01 中国
02 北京 01 中国
03 上海 01 中国
04 广州 01 中国
(所影响的行数为 4 行)
*/
Top




