Saturday, January 31, 2015

Join Tables to Create the Summary View

You can try this one. The format will not be exactly same as when you create in Excel.



DECLARE @YEAR INT = 2014
;WITH CTESupplier AS (
SELECT
[Month]
,[PROP_CODE]
,isnull(TotalPayment,0) as [TotalPayment]
,'Supplier Payment' as [Fee Type]
FROM [SQL2012EELearning].[dbo].[SupplierPayment] WHERE YEAR = @YEAR
), CTESupplier_Result AS (
SELECT * FROM CTESupplier
PIVOT
(SUM(TotalPayment) FOR [Month] IN (January,February,March,April,May,June,July,August,September,November,December)) pvt
), CTERepairCost AS (
SELECT [Month]
,[PROP_CODE]
,'Repair Cost' as [Fee Type]
,isnull([AMOUNT],0) as [AMOUNT]
FROM [SQL2012EELearning].[dbo].[RepairCost] WHERE YEAR = @YEAR
), CTERepairCost_Result AS (
SELECT * FROM CTERepairCost
PIVOT
(SUM([AMOUNT]) FOR [Month] IN (January,February,March,April,May,June,July,August,September,November,December)) pvt
), CTERentReceived AS (
SELECT
[Prop Code]
,isnull([TotalPayment],0) as [TotalPayment]
,[Month]
,'Rent Received' as [Fee Type]
FROM [SQL2012EELearning].[dbo].[CustomerPayment] WHERE YEAR = @YEAR
), CTERentReceived_Result AS (
SELECT * FROM CTERentReceived
PIVOT
(SUM([TotalPayment]) FOR [Month] IN (January,February,March,April,May,June,July,August,September,November,December)) pvt
) , CTEFinal AS (
SELECT * FROM CTESupplier_Result
UNION ALL
SELECT * FROM CTERepairCost_Result
UNION ALL
SELECT * FROM CTERentReceived_Result
)
SELECT * FROM CTEFinal ORDER BY PROP_CODE







Regards, RSingh


No comments:

Post a Comment