Click here to Skip to main content
15,900,906 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi,
I just don't understanding pivoting and i need help on a simple query. My query gives me the results as fellows:
SQL
SELECT 
    'LuFt' AS [Source],
	SUM([SalesAmount1]) AS [Sales old],
	SUM([SalesAmount2]) AS [Sales new]
FROM [dbo].[tblSales]
 WHERE ([Source] IN ('LuFt')) AND [Planung] = 'kosten'

UNION

SELECT 
    'TGL' AS [Source],
	SUM([SalesAmount1]) AS [Sales old],
	SUM([SalesAmount2]) AS [Sales new]
FROM [dbo].[tblSales]
 WHERE ([Source] IN ('TGL')) AND [Planung] = 'kosten'

 UNION

SELECT 
    'BHW' AS [Source],
	SUM([SalesAmount1]) AS [Sales old],
	SUM([SalesAmount2]) AS [Sales new]
FROM [dbo].[tblSales]
 WHERE ([Source] IN ('BHW')) AND [Planung] = 'kosten'

  UNION

SELECT 
    'WM ' AS [Source],
	SUM([SalesAmount1]) AS [Sales old],
	SUM([SalesAmount2]) AS [Sales new]
FROM [dbo].[tblSales]
 WHERE ([Source] IN ('WM')) AND [Planung] = 'kosten'


Results:
[Source]      [Sales old]      [Sales new]
 Luft           10000            20000
 TGL            500              800
 BHW            1500             500
 WM             700              400



My Expectation using pivot:

[]          [Luft]   [TGL]  [BHW]  [WM]
Sales old    10000    500    1500   700
Sales new    20000    800    500    400
Posted
Updated 28-Apr-15 22:58pm

 
Share this answer
 
Comments
Maciej Los 29-Apr-15 6:58am    
+5!
Pivoting data is easy as... flail construction ;)

Have a look at my "translation" of your sql queries:
SQL
SELECT [DataDescription], [Luft], [TGL], [BHW], [WM]
FROM (
    SELECT 'Sales Old' AS DataDescription, [Source], [SalesAmount1] As MySales
    FROM [dbo].[tblSales]
    WHERE [Planung] = 'kosten'
    UNION ALL
    SELECT 'Sales New' AS DataDescription, [Source], [SalesAmount2] As MySales
    FROM [dbo].[tblSales]
    WHERE [Planung] = 'kosten'
) AS DT
PIVOT(SUM([MySales]) FOR [Source] IN([Luft], [TGL], [BHW], [WM])) AS PVT
 
Share this answer
 
Comments
mikybrain1 29-Apr-15 7:21am    
Thnx dude like always. I did also solved it myself using CASE WHEN because it took u soooo long to answer hahahahaha. BUT anyway 'urs looks nicer.

I'm facing a defferent issue.
Maciej Los 29-Apr-15 7:27am    
You're very welcome, Miky ;)
Sascha Lefèvre 29-Apr-15 8:35am    
+5!
Maciej Los 29-Apr-15 8:47am    
Thank you, Sascha ;)
Herman<T>.Instance 29-Apr-15 8:50am    
my +5 too!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900