【发布时间】:2022-01-26 04:28:38
【问题描述】:
我有以下sql命令
DECLARE @cols NVARCHAR (MAX)
SELECT @cols = COALESCE (@cols + ',['+ cast(Month as nvarchar(2))+']' , '['+ Cast(Month as nvarchar(2))+']')
FROM (select distinct Month from Employee WHERE Year*100+Month BETWEEN 201704 and 201712 ) as e
PRINT @cols
结果是
[9],[12],[6],[7],[10],[4],[5],[11],[8]
但我真的希望它产生排序顺序
[4],[5],[6],[7],[8],[9],[10],[11],[12]
【问题讨论】:
-
给出错误消息 1033,级别 15,状态 1,第 3 行 ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,除非 TOP、OFFSET 或 FOR还指定了 XML。
-
@NassimH 是什么让您认为这必然会得到不同的结果?最终,最终的
SELECT可能会以任何顺序返回结果,并且可能无法正确聚合
标签: sql sql-server tsql