其實我米begineer到SQL XML路徑,以便使我的專業,有一個場景...... 我有一個CTE功能結果SQL XML路徑轉換結果錯誤
Data Chars NumberOfOccurance
12 1 1 appears (1) times
12 2 2 appears (1) times
xx x x appears (2) times
和CTE功能是:
;with cte as
(
select Data , SUBSTRING(Data,1,1) as Chars,1 as startpos from @t
union all
select Data, SUBSTRING(Data, startpos+1,1) as char,startpos+1 from cte where startpos+1<=LEN(data)
)
select Data,Chars,Cast(Chars as varchar(1)) + ' appears (' + cast(COUNT(*) as varchar(5))+ ') times' as 'NumberOfOccurance' from cte
group by data, chars
其實我只想讓我的回答這個:
data Number_of_occurances
12 1 appears (1) times 2 appears (1) times
xx x appears (2) times
我公頃已經嘗試這樣的:
; With Ctea as
(
select Data , SUBSTRING(Data,1,1) as Chars,1 as startpos from @t
union all
select Data, SUBSTRING(Data, startpos+1,1) as char,startpos+1 from ctea where startpos+1<=LEN(data)
)
select Data,Chars,REPLACE((SELECT (Cast(Chars as varchar(1)) + ' appears (' + cast(COUNT(*) as varchar(5))+ ') times') AS [data()] FROM Ctea t2 WHERE t2.Data = t1.data FOR XML PATH('')), ' ', ' ;') As Number_of_occurances from ctea as t1
group by t1.data, t1.Chars
它說:
Column 'Ctea.Chars' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
當我使用臨時表,並讓我確切的答案,但不能做它CTE
誰能讓我的結果?