当前位置: 代码迷 >> Sql Server >> SQL语句单表查询的有关问题,蛮绕的求帮助
  详细解决方案

SQL语句单表查询的有关问题,蛮绕的求帮助

热度:4   发布时间:2016-04-27 14:27:39.0
SQL语句单表查询的问题,蛮绕的求帮助
比如表中有三列:

ID 名称 上级ID
0 总公司 0 
1 技术部 0
2 研发部 1
3 销售部 0


查询的时候我想查出的是

名称 上级名称
总公司 总公司
技术部 总公司
研发部 技术部
销售部 销售部


大概就是这么个意思,SQL语句怎么写啊有没有大大帮我下~~~~我实在搞不出来了

------解决方案--------------------
SQL code
if object_id('[tb]') is not null drop table [tb]gocreate table [tb]([ID] int,[名称] varchar(6),[上级ID] int)insert [tb]select 0,'总公司',0 union allselect 1,'技术部',0 union allselect 2,'研发部',1 union allselect 3,'销售部',0select a.名称,isnull(b.名称,a.名称) as 名称 from tb a left join tb b on a.上级ID=b.id--测试结果:/*名称     名称------ ------总公司    总公司技术部    总公司研发部    技术部销售部    总公司(4 行受影响)*/
------解决方案--------------------
SQL code
declare @t table (ID int,名称 varchar(6),上级ID int)insert into @tselect 0,'总公司',0 union allselect 1,'技术部',0 union allselect 2,'研发部',1 union allselect 3,'销售部',0select a.名称,b.名称 AS 上级名称 from @t a LEFT JOIN @t b ON a.上级ID=b.ID/*名称     上级名称------ ------总公司    总公司技术部    总公司研发部    技术部销售部    总公司*/
------解决方案--------------------
直接用
  相关解决方案