Тёмный

Dynamically Pivot Data in SQL Server 

Anthony Smoak
Подписаться 23 тыс.
Просмотров 84 тыс.
50% 1

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 78   
@rogerlee5867
@rogerlee5867 4 года назад
Great job explaining PIVOT function, you were easy to listen to and understand
@AnthonySmoak
@AnthonySmoak 4 года назад
I appreciate it, thank you!
@rickvenables7648
@rickvenables7648 Год назад
This was a tremendous help to get my similar query to work. Thanks much!
@AnthonySmoak
@AnthonySmoak Год назад
Glad to hear it! Thanks for the comment.
@Coder-zx4nb
@Coder-zx4nb 5 лет назад
Awesome video. Helped me get a clear grasp on pivots.
@AnthonySmoak
@AnthonySmoak 5 лет назад
I appreciate the comment!
@VongsiLoryongpao
@VongsiLoryongpao 3 года назад
Great contents and examples, Loved it
@mudasir989
@mudasir989 4 года назад
best pivot example on youtube
@AnthonySmoak
@AnthonySmoak 4 года назад
Thank you, I'm glad I was able to help!
@ashrafshaikh9879
@ashrafshaikh9879 5 лет назад
OK, how can I use the Distinct in between city and QUOTENAME
@thomasbates804
@thomasbates804 Год назад
This is very helpful. Thank you
@AnthonySmoak
@AnthonySmoak Год назад
Glad to hear it. Thanks!
@BillBrutzman
@BillBrutzman 5 лет назад
Super helpful and much appreciated.
@romeror1945
@romeror1945 4 года назад
Thanks for the video. Very enlightening.
@AnthonySmoak
@AnthonySmoak 4 года назад
Thanks for the comment!
@vickymali6841
@vickymali6841 4 года назад
really so best explanation😊😊
@KhanStyle380
@KhanStyle380 Год назад
You saved my days…. Thanks
@AnthonySmoak
@AnthonySmoak Год назад
Happy to help!
@felipebizarre
@felipebizarre 3 года назад
This was so useful, damn I was just told that I would be using this for taking data from certain tables and so on so this is soo so handy, thank you so much
@AnthonySmoak
@AnthonySmoak 3 года назад
Fantastic! I enjoy hearing how my channel helps people with their data. Thanks for commenting!
@kevinlabore1726
@kevinlabore1726 4 года назад
I think a better dataset would have lead to a clearer "pivot table", I understand where/why the NULL's are coming, however not everyone might understand how a different dataset would have been more interesting (such as demographics by city, county state). That said you did a great job explaining the how/why of the SQL.
@AnthonySmoak
@AnthonySmoak 4 года назад
Thanks for the feedback.
@rodinsuniga5549
@rodinsuniga5549 5 лет назад
thank you very much! you really helped me.
@rohinigoel570
@rohinigoel570 4 года назад
Hey Anthony, great job in explaining the pivot function. I have a question to ask, it would be great if you could reply - How can we handle a scenario where the 'city' column would have more than 10,000 unique cities (let's assume) ?
@gbagba81
@gbagba81 2 года назад
well I mean, if it needs to be readable I'd use another reference like country or so. Maybe try to orient the query to a specific type of data like above certain numer?
@darraghfleming6515
@darraghfleming6515 5 лет назад
Really good video thanks for posting
@AnthonySmoak
@AnthonySmoak 5 лет назад
Thanks for watching and commenting.
@Ramu0237
@Ramu0237 3 года назад
Hi Anthony, I have a quick questions, how would you modify this query for a different scenario if there are two fields that needs to be filled in the Pivot for a single city, so for example let us assume 6118 and 6181 both should have rents assigned to sanfrancisco, if you see in your scenario no one city has got more than one rent filled in its rows
@edwin60590
@edwin60590 2 года назад
Solved my curiosity, thx
@AnthonySmoak
@AnthonySmoak 2 года назад
Glad to hear it, thanks for the comment!
@binydumka
@binydumka 5 лет назад
How can I put two columns in Pivot?
@onurcode
@onurcode 4 года назад
you are king, thank you..
@AnthonySmoak
@AnthonySmoak 4 года назад
My subscribers are royalty. Thanks for watching!
@SandeepTiwari-yy4fg
@SandeepTiwari-yy4fg Год назад
how to make zero(0) if Average rent is null or how to use ISNULL function here
@AnthonySmoak
@AnthonySmoak Год назад
Check out the COALESCE() function.
@SandeepTiwari-yy4fg
@SandeepTiwari-yy4fg Год назад
@@AnthonySmoak sir this is my code SET @query = ' SELECT * INTO #TempPivot FROM ( SELECT DepartmentCode, '+ @cols+ ' FROM ( SELECT DepartmentCode, Label, isnull(Amount, 0) AS Amount FROM #temp UNION ALL SELECT ''Total'', Label, SUM(Amount) FROM #temp GROUP BY Label ) AS ResultTable PIVOT ( SUM(Amount) FOR Label IN (' + @cols + ') ) AS PivotTable ) AS FinalResult; -- Select from the temporary table SELECT * FROM #TempPivot; -- Drop the temporary table DROP TABLE IF EXISTS #TempPivot;'; -- Execute the dynamic SQL query EXEC sp_executesql @query; but it gives this error Incorrect syntax near the keyword 'COALESCE'. pls can you help on this.
@SandeepTiwari-yy4fg
@SandeepTiwari-yy4fg Год назад
DECLARE @cols AS NVARCHAR(MAX); DECLARE @query AS NVARCHAR(MAX); -- Get the distinct label values dynamically SET @cols = STUFF( ( SELECT DISTINCT ', COALESCE(' + QUOTENAME(Label) + ', 0) AS ' + QUOTENAME(Label) FROM #temp FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)'), 1, 2, '' ); sorry code this I missed
@muhammadmajid4204
@muhammadmajid4204 4 года назад
it is showing an error Msg 8156, Level 16, State 1, Line 6 The column 'Feb 1 2018 12:00AM' was specified multiple times for 'Q'. Msg 208, Level 16, State 0, Line 34 Invalid object name '##TBL_TEMP1'.
@magdelkgadimamabolo5560
@magdelkgadimamabolo5560 4 года назад
I have the same error,did you get it right?
@muhammadmajid4204
@muhammadmajid4204 4 года назад
@@magdelkgadimamabolo5560 Not Yet
@thebluetoother987
@thebluetoother987 5 лет назад
thank you this helped me a lot :)
@Johan_jm
@Johan_jm 2 года назад
hello I know it's been a long time ... it is possible to leave all the data on the left ... I have a purpose to do it. thanks for sharing
@AnthonySmoak
@AnthonySmoak 2 года назад
You want to exclude certain fields? If so, simply select what you need from the temp table that holds the pivot results.
@birenmishra9807
@birenmishra9807 4 года назад
Awesome..
@satishbingi1076
@satishbingi1076 5 лет назад
Thank you! Here, I don't want to display 'NULL' or '0' in the result, so that we can view a clear picture of the output. Can you please provide the query for it?
@AnthonySmoak
@AnthonySmoak 5 лет назад
Try using the COALESCE function in a CASE statement to turn your NULL and 0 values into the empty string ''.
@romeror1945
@romeror1945 4 года назад
Or just use the Isnull function
@farahfarooq3755
@farahfarooq3755 4 года назад
Amazing example for new bies
@muhammadmajid4204
@muhammadmajid4204 4 года назад
hello Sir I had a problem can you help me
@fahadaleem8103
@fahadaleem8103 5 лет назад
hi there lovely video however i am having a problem, by your method i am able to get the columns dynamically but problem is they are not unique and repeating value, just like it has combine all the row data in one cell, can you help out on this
@AnthonySmoak
@AnthonySmoak 5 лет назад
It's difficult to diagnose with limited information. Some tweaking to the code may be warranted based upon your specific data set.
@beadww
@beadww 5 лет назад
If you first Select Distinct on the column you are going to pivot and store it in a temp table IE #ColumnNames You can then use that in place of the (Cities) column in the pivot and you will get unique columns.
@cooperyonk
@cooperyonk 3 года назад
@@beadww Bradley could you show an example of this please
@prashantrawat5466
@prashantrawat5466 Год назад
Niceeeeee
@matthewkelly9248
@matthewkelly9248 4 года назад
Cashville!
@nuwanthilina4940
@nuwanthilina4940 3 года назад
I need to run this in C#.. How can I do it?
@AnthonySmoak
@AnthonySmoak 3 года назад
Not sure about that one. That is out of my lane.
@davidmumford367
@davidmumford367 7 месяцев назад
where did tbl_rent come from
@AnthonySmoak
@AnthonySmoak 7 месяцев назад
World bank dataset, found it over 5 years ago somewhere.
@SOUMIKMAHAJAN
@SOUMIKMAHAJAN Год назад
How to handle that null value and replace as 0????
@AnthonySmoak
@AnthonySmoak Год назад
Experiment with the COALESCE() function.
@soumikmahajan6317
@soumikmahajan6317 Год назад
@@AnthonySmoak Already done thanks for your response☺
@AnthonySmoak
@AnthonySmoak Год назад
Glad to hear it!
@anime4u766
@anime4u766 3 года назад
What if city is repeated?
@AnthonySmoak
@AnthonySmoak 3 года назад
Then you would have a data quality issue with respect to this example.
@anime4u766
@anime4u766 3 года назад
@@AnthonySmoak okay
@stephanievulcheva8125
@stephanievulcheva8125 4 года назад
omg even on a lot of rows, you can still make pivot table like this in excel with exactly 2 cliks…………..
@AnthonySmoak
@AnthonySmoak 4 года назад
Sure, but try doing this in Excel with 10 million rows. :)
@marcolippelt1771
@marcolippelt1771 2 года назад
Is it possible to create a view that contains the resultset?
@devloperuniversal845
@devloperuniversal845 5 лет назад
Please post table and data
@mathiyarasuelangovan2694
@mathiyarasuelangovan2694 Год назад
How do we do the same Dynamic Pivot in SSIS...?
@AnthonySmoak
@AnthonySmoak Год назад
Use the Execute SQL task: learn.microsoft.com/en-us/sql/integration-services/control-flow/execute-sql-task?view=sql-server-ver16
@mathiyarasuelangovan2694
@mathiyarasuelangovan2694 Год назад
@@AnthonySmoak My source is Excel and the destination is OLE-DB...is it possible to Execute the SQL task.
@AnthonySmoak
@AnthonySmoak Год назад
If your data is in Excel, in order for SQL to work, you would need to import it into a relational database first. Excel is not a relational database. However, you can use the unpivot functionality in Power Query to get the same results as the SQL in this video. anthonysmoak.com/2017/07/16/easily-unpivot-your-data-in-excel-using-power-query/
@mathiyarasuelangovan2694
@mathiyarasuelangovan2694 Год назад
@@AnthonySmoak Thank You ...
@AnthonySmoak
@AnthonySmoak Год назад
@@mathiyarasuelangovan2694 Good luck!