T-SQL按倾斜结果排序

时间:2015-06-15 04:43:34

标签: sql sql-server tsql sql-order-by

SQL Server 2008企业版。

我尝试从表变量返回结果时遇到一些奇怪的行为,并将它们连成一个字符串。

declare @SQLString nvarchar(max) ='';   
declare @List table (ID smallint, Period smallint, Name nvarchar(4000), Value    nvarchar(4000) );

insert into @List values(1, 0, 'Column1', 'Total Value');
insert into @List values(1, 0, 'Column2', 'Cost');
insert into @List values(1, 0, 'Column3/Column2', 'Qty');
insert into @List values(1, 0, 'Column4', 'Test');

select @SQLString = @SQLString + ',' + char(13) + char(9)
 + 'isnull('+Name + ',0) as [' + Value +']'
    from @List order by Period, ID

目前,这只会将@List的最终结果返回到@SQLString

如果我删除了order by,则效果非常好。 IE浏览器。它将所有行返回到字符串中(例如,isnull(1,0),isnull(2,0)等)

为了其他目的,我已经完成了1000次。我错过了什么?

然而,它可以在我的本地计算机上运行(运行SQL Server 2008 Developer)

0 个答案:

没有答案