2
我已经写了CT与CT。存储过程与CTE查询类别,子类别,子子类别
CREATE PROC [dbo].[CategoryListShow]
@id AS INT
AS
WITH CategoryList
AS
(
SELECT parent.Categoryid, CONVERT(varchar(50),parent.CategoryName)
as
Name, parent.CategoryParentid
FROM Category as parent
WHERE parent.CategoryParentid IS NULL
UNION ALL
SELECT child.Categoryid, CONVERT(varchar(50),CL.Name + ' > ' + child.CategoryName)
as Name, child.CategoryParentid
FROM Category as child
INNER JOIN CategoryList as CL ON child.CategoryParentid = CL.Categoryid
WHERE child.CategoryParentid IS NOT NULL
)
SELECT Name from CategoryList option (maxrecursion 0)
我该如何达到理想的输出?例如,如果用户键入id = 14111
然后输出应该是这样的:Everything Else > Test Auctions > General
我的表结构:
感谢
我收到此错误:类型不锚和递归查询的列“类别名称”,“CTE_Data”递归部分之间的匹配。 –
尝试编辑查询,我已经添加了'cast' –
感谢作品像一个魅力。 –