Someone told me a sentence that I don't need to write Loop(while). for example, I wrote this sentence.
WHILE(@intFrom <= @intTo)
BEGIN
SET @strSelectMonthCol = @strSelectMonthCol + ',ISNULL(SUM([M_'+CONVERT(VARCHAR, @intFrom)+']),0) AS M_'+CONVERT(VARCHAR, @intFrom)
SET @strSelectSumCol = @strSelectSumCol + 'SUM(ISNULL([M_'+CONVERT(VARCHAR, @intFrom)+'],0)) +'
SET @strPivot = @strPivot + '[M_' + CONVERT(VARCHAR, @intFrom) + '],'
SET @intFrom += 1
END
And then he gave me this sentence.
DECLARE @QUERY NVARCHAR(MAX)
SET @QUERY = ''
SELECT @QUERY = @QUERY + '[' + A.X_CD + '], '
FROM ( SELECT DISTINCT TOP 10 X_CD FROM X_ITEM ) AS A
SELECT @QUERY
How does @Query accumulate repeatedly without WHILE?