Попробуйте выполнить SQL и заменить временные таблицы с таблицей:
CREATE TABLE #requirements ( ID INT, RequirementDescription VARCHAR (100) )
CREATE TABLE #CUSTOMERS ( ID INT, CustomerName УАКСНАК (100) )
CREATE TABLE #CUSTOMER_REQUIREMENTS ( ID INT, RequirementID INT, CustomerID INT, DateCompleted ДАТА )
INSERT INTO #requirements VALUES (1, 'Requirement1')
INSERT INTO #requirements ЗНАЧЕНИЯ (2, 'Requirement2')
ВСТАВИТЬ В К #requirements ЗНАЧЕНИЯ (3, 'Requirement3')
INSERT INTO #requirements ЗНАЧЕНИЯ (4, 'Requirement4')
INSERT INTO #CUSTOMERS VALUES (1, 'Джон')
INSERT INTO # КЛИЕНТЫ ЗНАЧЕНИЯ (2, 'МЭРИ')
INSERT INTO #CUSTOMERS ЗНАЧЕНИЯ (3, 'ЛПП')
INSERT INTO #CUSTOMER_REQUIREMENTS ЗНАЧЕНИЯ (1,1,1, '2-2-2014')
INSERT INTO #CUSTOMER_REQUIREMENTS ЗНАЧЕНИЯ (1,2,1, '2-2-2014')
INSERT INTO #CUSTOMER_REQUIREMENTS ЗНАЧЕНИЯ (1,1,2, '2-2-2014')
ВСТАВИТЬ INTO #CUSTOMER_REQUIREMENTS VALUES (1,2,2, '') 2-2-2014
INSERT INTO #CUSTOMER_REQUIREMENTS VALUES (1,3,2, '') 2-2-2014
INSERT INTO # КЛИЕНТСКИЕ ПРЕДПИСАНИЯ ЦЕННОСТИ (1,4,2, '2-2-2014')
DECLARE @DynamicPivotQuery AS NVARCHAR (MAX)
DECLARE @ColumnName AS NVARCHAR (MAX)
ВЫБОР @ ColumnName = ISNULL (@ColumnName + ' ''') + QUOTENAME (CustomerName) ОТ (SELECT DISTINCT FROM CustomerName #CUSTOMERS) как курсы
SET @DynamicPivotQuery = N'SELECT ReqID, ReqDes "+ @ColumnName + ОТ ( ВЫБОР TEMP.ReqID, TEMP.ReqDes, TEMP.CusName, CusReq.DateCompleted ОТ ( ВЫБОР req.ID как ReqID, req.RequirementDescription как ReqDes, cus.ID как CusID, cus.CustomerName как CusName ИЗ #requirements REQ #, CUSTOMERS CUS ) КАК TEMP ЛЕВЫЙ РЕГИСТРИРУЙТЕСЬ #CUSTOMER_REQUIREMENTS как CusReq ПО TEMP.ReqID = CusReq.RequirementID И Temp.CusID = CusReq.CustomerID ) AS TEMP1 PIVOT (MAX (TEMP1.DateCompleted) ДЛЯ CusName IN ('+ @ColumnName +)) AS P VTTable»
EXEC sp_executesql @DynamicPivotQuery
DROP TABLE #CUSTOMER_REQUIREMENTS
DROP TABLE #CUSTOMERS
DROP TABLE #requirements
Покажите нам ваши ** текущие усилия ** и объяснить, где вы «Застрял! –