【发布时间】:2018-05-10 22:53:45
【问题描述】:
执行我的 sql 查询时出现错误“锚点和递归之间的类型不匹配”。 我的查询:
;WITH FA_CTE AS
(
SELECT
fa.name as Data1,
fa.lnumber as Data2,
fa.allnumber as Data3,
fa.productname as Data4
FROM
(
SELECT A.name, A.lnumber, A.allnumber, A.productname
FROM soldproduct AS A INNER JOIN Account AS B ON A.account = B.accountid
) fa
)
, tmp1(Data1, Data2, Data3, DataItem , Data4) as (
select Data1, Data2, Data3, LEFT(Data4, CHARINDEX('-',Data4+'-')-1),
STUFF(Data4, 1, CHARINDEX('-',Data4+'-'), '')
from FA_CTE
union all
select Data1, Data2, Data3, LEFT(Data4, CHARINDEX('-',Data4+'-')-1),
STUFF(Data4, 1, CHARINDEX('-',Data4+'-'), '')
from tmp1
)
select Data1, Data2, Data3, DataItem AS Data4
from tmp1
order by Data1
【问题讨论】:
-
不明白为什么类型转换是个问题,但这看起来像无限递归。也许更好的问题是您要做什么,因为我不认为递归 CTE 是您想要的工具。
标签: sql tsql reporting-services ssrs-2012