ORDER BY de repente em conflito com a concatenação VARCHAR em TSQL

Eu tenho código no Sql Server 2008, que concatena algumas seqüências de caracteres de uma consulta em uma variável usando o tentado-e-verdadeiroSELECT @VAR = @VAR + FIELD FROM TABLE ORDER BY OTHERFIELD sintaxe.

Este é o meu SQL exato:

SELECT @SQL = @SQL + 
    ISNULL(FORMULA, 
    CASE WHEN USEMAP = 1 THEN 
        'dbo.getFieldTranslation('+CONVERT(VARCHAR,ROWID)+', [' + ISNULL(ENCOMPASSFIELD,'') + '])' 
    ELSE 
        '[' + ISNULL(ENCOMPASSFIELD,'') + ']' END
    ) + 
    ' AS "' + FILECOLNAME + '",' + @CRLF  
FROM dbo.EXPORTMAP_EX 
WHERE WAREHOUSEID = @WHSID 
ORDER BY ORDERIDX

Isso estava funcionando lindamente e perfeitamente. Então, de repente, hoje, parou de funcionar. Foi apenas concatenando nos valores da última linha. Na depuração, descobri que se eu tirar oORDER BY clause, então todos os campos retornam, mas classificados estritamente alfabeticamente pelo valor da string dos campos.

No entanto, este SQL está sendo usado para gerar uma exibição para uma exportação. O arquivo de exportação deve ter seus campos na ordem correta, portanto, a cláusula ORDER BY. Por que o ORDER BY subitamente serve parafiltro Meus resultados?

Não consigo usar a rota XML / STUFF porque alguns dos dados têm <e> sinais nela.
Eu prefiro não ter que voltar a usar um loop WHILE antigo, mas talvez precise.

questionAnswers(1)

yourAnswerToTheQuestion