Хорошо, я не знаю много о хранимых процедурах, но кто-нибудь знает, как я мог бы написать это как SP. Я думаю, это вроде как, но не совсем. в основном, что мне нужно вставить в мой запрос, чтобы создать его! :))
CREATE PROCEDURE sp_executesql
as
DECLARE
@cols AS NVARCHAR(MAX),
@y AS INT,
@sql AS NVARCHAR(MAX);
-- Construct the column list for the IN clause
SET @cols = STUFF(
(SELECT N',' + QUOTENAME(w) AS [text()]
FROM (SELECT DISTINCT WeekNo AS W FROM dbo.Items) AS W
ORDER BY W
FOR XML PATH('')),
1, 1, N'');
-- Construct the full T-SQL statement
-- and execute dynamically
SET @sql = N'SELECT *
FROM (SELECT ItemNo, WeekNo, Value
FROM dbo.Items) AS I
PIVOT(SUM(Value) FOR WeekNo IN(' + @cols + N')) AS P;';
EXEC sp_executesql @sql;
GO