求助SQL的写法,在线求助,急急急!!!!
1.上面的数据,我想实现通过iTopId找到对应的菜单名字,因为菜单可能有多个,
我想要的结果是,每一行的数据都能显示完整路径,比如:【数据库/SQL SERVER/基础知识】。这种结构。想了 好久都没有思路。 SQL SQLSERVER SQLSERVER?2008
[解决办法]
drop table #tb;
Create table #tb(id int identity(1,1),ilden int,sname nvarchar(200),itopid int);
Insert Into #tb(ilden,sname,itopid)
Select null,'基础知识',2 Union All
Select 2,'SqlServer',3 Union All
Select 3,'Book',null
with t as
(
Select sname,ilden,itopid From #tb Where itopid is null
Union All
Select Cast(t.sname+ N'/'+#tb.sname as Nvarchar(200))as sname,#tb.ilden,#tb.itopid
From t
Inner Join #tb
On t.ilden = #tb.itopid)
Select *
From t
--------------------
--Book 3 NULL
--Book/SqlServer 23
--Book/SqlServer/基础知识NULL2
--