आप संयोजन पर निर्भर नहीं रह सकते जैसे:
SELECT @result = COALESCE(@result + ',', '') + [Title]
FROM Episodes
...
निष्पादन योजना और अभिव्यक्ति स्थान पर निर्भर कुल संयोजन प्रश्नों के परिणाम
सीटीई/अस्थायी तालिका/निष्पादन योजना पर निर्भर उदाहरण आपको अलग-अलग परिणाम मिलेंगे:
DECLARE @text VARCHAR(MAX) = ''
,@text2 VARCHAR(MAX) = '';
SELECT CAST(ROW_NUMBER() OVER (ORDER BY name) AS INT) AS number
INTO #numbers
FROM master..spt_values
;WITH numbers (number)
AS
(
SELECT CAST(ROW_NUMBER() OVER (ORDER BY name) AS INT) AS number
FROM master..spt_values
),a AS
(
SELECT number FROM numbers WHERE number < 10
)
SELECT @text = @text + LTRIM(STR(a.number))
FROM a
ORDER BY a.number DESC
;WITH numbers (number)
AS
(
SELECT number FROM #numbers
),
a
AS
(
SELECT number FROM numbers WHERE number < 10
)
SELECT @text2 = @text2 + LTRIM(STR(a.number))
FROM a
ORDER BY a.number DESC
SELECT @text, @text2;
मैंने नमूना बनाया और आपकी पहली क्वेरी काम कर रही है SqlFiddleDemo . लेकिन आपका समाधान निष्पादन योजना पर अत्यधिक निर्भर है।
का इस्तेमाल करें एक्सएमएल + स्टफ इसके बजाय संयोजन के लिए।