首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tsql breadcrumb查询

tsql breadcrumb查询
EN

Stack Overflow用户
提问于 2012-09-14 13:41:39
回答 2查看 703关注 0票数 0

我有以下CTE查询

代码语言:javascript
复制
;WITH cte AS (
    SELECT 0 AS lvl, id, catName, parent,
        CAST(id AS VARCHAR(128)) AS Sort
    FROM CategoriesMap WHERE id =2
    UNION ALL
    SELECT p.lvl + 1, c.id, c.catName, c.parent,
        CAST(CAST(c.id AS VARCHAR) + '_' + p.Sort   AS VARCHAR(128))
    FROM CategoriesMap c
    INNER JOIN cte p ON p.parent = c.id
)
select * from cte

Sort(Tree)列的输出如下(对于两行)...

代码语言:javascript
复制
2
1_2

其中,2是类别TVs,1_2表示这是树映射(1: Internet Tv, 2 = Jadoo Tv)

现在我可以返回类别名称和类别代码了吗?

就像这样

代码语言:javascript
复制
2:Jadoo Tc

1_Internet Tv: 2_Jadoo Tv

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-14 15:04:59

代码语言:javascript
复制
;WITH cte AS (
    SELECT 0 AS lvl, id, catName, parent,
        CAST(CAST(id AS VARCHAR(128)) + ':' + catName AS VARCHAR(128)) AS Sort
    FROM CategoriesMap WHERE id =2
    UNION ALL
    SELECT p.lvl + 1, c.id, c.catName, c.parent,
        CAST(CAST(c.id AS VARCHAR) + ':' + c.catName + '_' + p.Sort AS VARCHAR(128))
    FROM CategoriesMap c
    INNER JOIN cte p ON p.parent = c.id
)
select * from cte
票数 2
EN

Stack Overflow用户

发布于 2012-09-14 19:14:58

代码语言:javascript
复制
;WITH cte AS (
    SELECT 0 AS lvl, id, catName, parent,
        CAST(id AS VARCHAR(128)) AS Sort
    FROM CategoriesMap WHERE id =2
    UNION ALL
    SELECT p.lvl + 1, c.id, c.catName, c.parent,
        CAST(CAST(c.id AS VARCHAR) + '_'+c.catName+':' + p.Sort   AS VARCHAR(128))
    FROM CategoriesMap c
    INNER JOIN cte p ON p.parent = c.id
)
select * from cte
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12418743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档