当前位置: 代码迷 >> Sql Server >> 一个让小弟我困惑的sql查询,求高手
  详细解决方案

一个让小弟我困惑的sql查询,求高手

热度:68   发布时间:2016-04-27 12:40:29.0
一个让我困惑的sql查询,求高手
AreaId AreaName UpperId
1 中国 0
2 北京 1
3 宣武区 2
4 海淀区 2
5 陕西省 1
6 西安 5
7 咸阳 5
8 四川 1
9 成都 8


求大手教下怎么由下级查询上一级,比如查成都的上一级,由UpperId知道8是四川,怎么用sql语句写啊?

------解决方案--------------------
select * from tb a,tb b where a.UpperId=b.AreaId
------解决方案--------------------
SQL code
--上一级declare @id intset @id = 9select * from tbwhere AreaId = (select top 1 UpperId from tb where AreaId = @id)--所有上级;with cte as(    select * from tb where AreaId = @id    union all    select a.*    from tb a join cte b on a.AreaId = b.UpperId)select * from cte
  相关解决方案