如何解决在一列中获取父级和子级名称变体的串联
我有以下分层查询。
DECLARE @Id int = 1019;
WITH cte AS
(
SELECT a.Id,a.Cat_Fkey,a.CatEName
FROM tblCategories a
WHERE Id = @Id
UNION ALL
SELECT a.Id,a.CatEName
FROM tblCategories a JOIN cte c ON a.Cat_Fkey = c.id
)
SELECT Cat_Fkey,Id,CatEName
FROM cte
此查询给出以下结果:
Cat_Fkey ID Name
NULL 1019 Electronics
1019 1089 Mobile
1019 1092 Cameras
1089 1093 Mobile Child
因此,手机和相机是电子产品的子代,而移动儿童是手机的子代。
我的问题是如何在同一列中获得父级和子级名称的串联。
样本输出。
Concat_Column
Electronics Mobile
Electronics Cameras
Electronics Mobile Mobile Child
这是如何动态完成的,因此,每当我添加新类别时,查询都将获得所有可能的变体。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。