递归查询列中的锚点和递归部分之间的类型不匹配

理查德77

给定类别@categoryId,查询应以递归方式导航到最高级的超级类别,这已完成。

现在,我还想一直生成一个字符串,该字符串将是流程中所有CategoryName串联

DECLARE @CategoryId AS int = 217;
WITH Categories AS
(
   SELECT ParentCategoryId, CategoryName, '' AS strCategory
   FROM Category 
   WHERE CategoryId = @CategoryId

   UNION ALL

   SELECT c.ParentCategoryId, c.CategoryName,
       (c.CategoryName + ': ' + cts.strCategory) AS strCategory  
   FROM Category AS c
   JOIN Categories AS cts
   ON c.CategoryId = cts.ParentCategoryId
)

SELECT TOP 1 CategoryName, LEN(CategoryName) AS strLength
FROM Categories
ORDER BY strLength DESC

使用上面的代码,我得到以下错误:

Types don't match between the anchor and the recursive part in column 
"strCategory" of recursive query "Categories".

感谢您的帮助

亚德里亚·斯坦德

尝试更改查询以将varchars强制转换为VARCHAR(MAX)。

就像是

DECLARE @CategoryId AS int = 217;
WITH Categories AS
(
   SELECT ParentCategoryId, CategoryName, CAST('' AS VARCHAR(MAX)) AS strCategory
   FROM Category 
   WHERE CategoryId = @CategoryId

   UNION ALL

   SELECT c.ParentCategoryId, c.CategoryName,
       CAST((c.CategoryName + ': ' + cts.strCategory) AS VARCHAR(MAX)) AS strCategory  
   FROM Category AS c
   JOIN Categories AS cts
   ON c.CategoryId = cts.ParentCategoryId
)

SELECT TOP 1 CategoryName, LEN(CategoryName) AS strLength
FROM Categories
ORDER BY strLength DESC

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL中的递归查询?

来自分类Dev

FullPage.js-在不匹配的部分上将活动类添加到菜单锚点

来自分类Dev

锚和成员具有联合的递归查询

来自分类Dev

滑动查询中的类型不匹配

来自分类Dev

邻近查询与两端之间的LineString点不匹配

来自分类Dev

使用Haskell总和类型创建递归列表-递归锚点?

来自分类Dev

递归函数,如果Rust中的语句类型不匹配

来自分类Dev

在oracle中递归查询

来自分类Dev

递归CTE错误:类型不匹配

来自分类Dev

SQL Server:带日期的递归CTE-类型不匹配

来自分类Dev

Mongodb中的递归查询

来自分类Dev

如何使用CommentedMap递归排序YAML(带锚点)?

来自分类Dev

GRAQL中的递归查询?

来自分类Dev

强制转换后,“锚和递归零件之间的类型不匹配”

来自分类Dev

类内通用递归函数的Kotlin类型不匹配

来自分类Dev

问题:锚点与列SQL Server 2005中的递归部分之间的类型不匹配

来自分类Dev

PostgreSQL中的递归查询?

来自分类Dev

JavaScript中的递归-不递归

来自分类Dev

递归查询“ CTE”的列“ ProductNames”中的锚点与递归部分之间的类型不匹配

来自分类Dev

锚和成员具有联合的递归查询

来自分类Dev

函数“递归返回”的“类型不匹配”

来自分类Dev

递归函数中的类型匹配和IO出现问题

来自分类Dev

Prolog查询中的递归

来自分类Dev

在oracle中递归查询

来自分类Dev

重用查询不同部分之间的联接

来自分类Dev

在数组中的点之间递归地添加中点

来自分类Dev

Java泛型绑定不匹配递归类型

来自分类Dev

cte递归错误在锚点之间不匹配

来自分类Dev

CTE 从锚点和递归部分触发转换错误