Динамическая таблица SQL

Я так старался понять, как создать сводную таблицу в SQL, но я не могу с этим справиться!

У меня есть следующие столбцы:

link_id   route_section   date_1    StartHour     AvJT    data_source
.......   .............  .......   ...........   ......  ............

С 600 000 строк данных.

Я нуждаюсь в них в следующей сводной таблице;

date_1 StartHour как заголовки столбцовlink_id как заголовок строкиAvJT как данныесdata_source = '1' в качестве фильтра.

PIVOT TABLE

Link_ID 
date_1      StartHour    00001a    000002a    000003a    000004a
20/01/2014    8           456       4657        556       46576
21/01/2014    8           511       4725        601       52154
22/01/2014    8           468       4587        458       47585
23/01/2014    8           456       4657        556       46576
24/01/2014    8           456       4657        556       46576
25/01/2014    8           456       4657        556       46576
26/01/2014    8           456       4657        556       46576

Мне удалось получить следующий код, это работает, но только дает мне date_1 в качестве заголовка столбца, а не StartHour дополнительно, или с фильтром как date_source = '1'.

    Use [C1_20132014]

DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)

--Get distinct values of the PIVOT Column 
SELECT @ColumnName= ISNULL(@ColumnName + ',','') 
       + QUOTENAME(Link_ID)
FROM (SELECT DISTINCT Link_ID FROM C1_May_Routes) AS Link_ID

--Prepare the PIVOT query using the dynamic 
SET @DynamicPivotQuery = 
  N'SELECT Date_1, ' + @ColumnName + '
    FROM C1_May_Routes
    PIVOT(SUM(AvJT) 
          FOR Link_ID IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery

Спасибо за любую помощь,

Генри

Ответы на вопрос(2)

Ваш ответ на вопрос