当前位置: 代码迷 >> Sql Server >> 求 sql server两张表树形结构查询语句解决思路
  详细解决方案

求 sql server两张表树形结构查询语句解决思路

热度:59   发布时间:2016-04-24 09:16:56.0
求 sql server两张表树形结构查询语句



sqlserver表结构如图所示,需要将两张表查询为树形结构显示。

A表中bs_guid 为B表外键关联关系

单独一张表我知道可以使用CTE表达式递归查询出树状结果,
但是要将两张表查询为树状结构,就不知道怎么操作了,搞了一天没搞出来,求大神指点,非常感谢!!!
------解决思路----------------------
;WITH Tree AS(
SELECT bs_guid,CAST(bs_name AS VARCHAR(8000))bs_name,1 LVL,CAST(bs_guid AS VARCHAR(8000))P
FROM A
WHERE parent_guid IS NULL--如果你无父节点是用空字符串''表示的话,就改为parent_guid=''
UNION ALL
SELECT T2.bs_guid,REPLICATE('   ',T1.LVL)+T2.bs_name,T1.LVL+1,T1.P+','+CAST(T2.bs_guid AS VARCHAR)
FROM Tree T1 JOIN A T2 ON T1.bs_guid=T2.parent_guid
)
SELECT bs_guid,bs_name,P FROM Tree
UNION ALL
SELECT '',REPLICATE('   ',T1.LVL+1)+T2.tsk_name,T1.P+','
FROM Tree T1 JOIN B T2 ON T1.bs_guid=T2.bs_guid
ORDER BY P
  相关解决方案