我是MVC的新手,我需要使用Report Viewer进行报告,使用普通查询(我正在使用SQL Server 2014)相当容易。当我需要报告动态数据透视查询时,问题出现了,它叫做reporteNomina。
使用普通查询时,TableAdapter助手会显示其列,但使用我的数据透视表时,它不会显示任何列。
当我需要配置报告的数据时,它不会显示查询的列。
我该怎么办?是否有另一种方法可以使用动态列查询生成报告。
这是我的支点
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
--select @cols = STUFF((SELECT ',' + QUOTENAME(nombre) from Entidad FOR XML PATH(''), TYPE
-- ).value('.', 'NVARCHAR(MAX)')
-- ,1,1,'');
select
@cols = STUFF((SELECT ',' + QUOTENAME(nombre)
FROM Entidad
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
set @query = 'SELECT persona, vinculo,' + @cols + ' from
(
SELECT p.primerNombre as persona, v.idVinculo as vinculo, e.nombre as nombre, d.valor as valor
FROM Vinculo v
JOIN Persona p on v.numeroIdentificacion = p.numeroIdentificacion
JOIN Nomina n on v.idVinculo = n.idVinculo
JOIN Deduccion d on n.idNomina = d.idNomina
JOIN Obligacion o on o.idObligacion = d.idObligacion
JOIN Entidad e on e.nit = o.nitEntidad
where n.idPeriodo = 2
) x
pivot
(
sum(valor)
for nombre in (' + @cols + ')
) p ';
execute(@query)
谢谢。