问题描述
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 (将#修改为@)