SQL Server 2008r2 Express SP1.Мне нужно составить строку со списком всех различных дат в некотором поле для EXEC «динамический SQL».Конечно, даты должны быть в правильном порядке.Приведенный ниже код работает нормально, но мой босс говорит, что в больших таблицах ORDER BY не будет работать в некоторых случаях из-за @pivot_list = ... в операторе SELECT.Он работал с SqlServer2000 и там этот код даже не был бы скомпилирован.Кто-нибудь может сказать мне, будет ли это работать на SQL Server 2008r2?
USE tempdb
GO
DECLARE @pivot_list varchar(max)
CREATE TABLE #TovarSales(FullDate varchar(8))
INSERT #TovarSales VALUES ('20101010')
INSERT #TovarSales VALUES ('20101210')
INSERT #TovarSales VALUES ('20091010')
INSERT #TovarSales VALUES ('20111111')
INSERT #TovarSales VALUES ('20050505')
SELECT @pivot_list = ISNULL(@pivot_list + ', ', '') + '[' + TS.FullDate + ']'
FROM #TovarSales TS
GROUP BY TS.FullDate
ORDER BY TS.FullDate
select @pivot_list
DROP TABLE #TovarSales
Спасибо.