Академический Документы
Профессиональный Документы
Культура Документы
NET blog
http://weblogs.asp.net/gunnarpeipman/archive/2012/01/02/creating-dynamic-pivot-reports-on-s...
CREATE PROCEDURE XSP_REPORT_REQUESTS_BY_CATEGORY AS BEGIN DECLARE @PivotColumnHeaders VARCHAR(MAX) SELECT @PivotColumnHeaders = COALESCE( @PivotColumnHeaders + ',[' + cast(STATUS_NAME as varchar) + ']', '[' + cast(STATUS_NAME as varchar)+ ']' ) FROM DOC_STATUSES DECLARE @PivotTableSQL NVARCHAR(MAX) SET @PivotTableSQL = N'
1 de 3
Creating dynamic pivot reports on SQL Server - Gunnar Peipman's ASP.NET blog
http://weblogs.asp.net/gunnarpeipman/archive/2012/01/02/creating-dynamic-pivot-reports-on-s...
SELECT * FROM (SELECT dc.CATEGORY_NAME AS [Category], ds.STATUS_NAME As name, req.ID as ID FROM REQUESTS_FOR_PROPOSAL req INNER JOIN DOC_STATUSES ds ON req.STATUS_ID = ds.ID INNER JOIN DOC_CATEGORIES dc ON req.CATEGORY_ID = dc.ID ) AS Source PIVOT( COUNT(ID) FOR name IN ('+@PivotColumnHeaders+') ) AS PIVOTTBL' EXECUTE(@PivotTableSQL) END
Output of this reporting procedure is table like this:
I dont like this dynamic SQL in stored procedure because it can be hard to debug. But this far this solution works fine for me and I can always use views to get more complex querying logic out from reporting procedures. Posted: Jan 02 2012, 11:08 AM by DigiMortal | with 1 comment(s) Filed under: SQL Server, Databases
2 de 3
Creating dynamic pivot reports on SQL Server - Gunnar Peipman's ASP.NET blog
http://weblogs.asp.net/gunnarpeipman/archive/2012/01/02/creating-dynamic-pivot-reports-on-s...
Terms of Use
3 de 3