У меня есть сводный SQL-запрос, который заполнит таблицу:
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
DECLARE @yearV varchar(max) = '2019'
DECLARE @idclienteV varchar(max) = 1
select @cols = STUFF(
(
SELECT ',' + QUOTENAME([Y].[FechaPpto])
FROM [dbo].[Ingresos_Ppto] [Y]
WHERE
([Y].[IdCliente] = @idclienteV) AND (DATEPART(YEAR, [Y].[FechaPpto]) = @yearV)
GROUP BY [Y].[FechaPpto]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
set @query = N'DECLARE @year int = ' + @yearV + ' DECLARE @idc int = ' + @idclienteV + ' SELECT Rubro, ' + @cols + N' FROM
(
SELECT [Y].[Rubro], [Y].[Valor], [Y].[FechaPpto]
FROM [Ingresos_Ppto] [Y]
WHERE
([Y].[IdCliente] = @idc)
AND
(DATEPART(YEAR, [Y].[FechaPpto]) = @year)
) X
PIVOT
(
max(Valor)
FOR FechaPpto in (' + @cols + N')
) p'
EXEC sp_executesql @query;
Результат этого запроса:
Rubro | 2019-01 | 2019-02
+--------------------------+--------------+-------------
Portal web WP | 9148489.00 | 9172295.00
Portal web WP + ecommerce | 3785304.00 | 9140700.00
Renting tecnológico | 7223406.00 | 72986693.00
Branding | 3280937.00 | 4912017.00
Mercadeo y publicidad | 3372619.00 | NULL
Мне нужно связать этот результат в asp. net (webforms) Элемент управления GridView или аналогичный, чтобы я мог отобразить его на веб-странице .aspx.
Я не могу напрямую связать столбец дат, поскольку он динамически заполняется. Как я могу связать это?