Mám dvě tabulky. Hodnoty sloupce tabulka1 jsou použity jako sloupy tabulka2 (provádění řádku na sloupec). S pomocí vyhledávání google, jsem připraven můj SQL dotaz jako:
DECLARE @cols AS NVARCHAR(MAX),
@col1 AS NVARCHAR(30),
@col2 AS NVARCHAR(30),
@query AS NVARCHAR(MAX)
SELECT
@cols = STUFF((SELECT DISTINCT',' + QUOTENAME(schedule)
FROM table1
WHERE value = 'value1'
GROUP BY schedule
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
SET @col1 = 'value1'
SET @col2 = 'value2'
SET @query = N'SELECT eclo1, ecol2, ecol3, ' + @cols + N' FROM
(SELECT eclo1, ecol2, ecol3, ecol4, schedule
FROM table2
WHERE eval1 = ''' + @col1 + ''' AND eval2 = ''' + @col2 + ''') x
PIVOT
(COUNT(material) FOR schedule IN (' + @cols + N')) p '
EXECUTE(@query)
To běží dobře v SQL Server Management Studio, chci naplnit výsledek v mém datatable, ale nevím, jak to napsat SqlCommand
v mém ASP.NET stránka.