הפיכת ערך שורה (מספרי) לעמודה
SQL#והפעם- בואו נדבר על pivot table
הבעיה שלנו היא ש…
כולנו מכירים את האפשרות המדהימה באקסל ליצור pivot table
. לא בכל ה-dataDatabases
של sql קיימת הפקודה Pivot
, אז איך נוכל לעשות את זה בכל זאת?
הטיפ שלי
סוד ההצלחה במקרה הזה טמון בפונקציות אגרגציה על מקרים של case
. כלומר, נבחר איזה אגרגציה אנחנו רוצים לעשות ועל איזה מקרה.
בואו ננסה את זה בפועל
הטבלה שלנו:
orders:
orderID | customerID | orderDate | orderDelievered | amount |
---|---|---|---|---|
1 | 1 | 28.7.2019 | 0 | 500 |
2 | 1 | 28.6.2019 | 0 | 200 |
3 | 1 | 28.3.2019 | 1 | 1500 |
4 | 1 | 11.1.2019 | 0 | 300 |
5 | 2 | 7.5.2019 | 0 | 350 |
6 | 2 | 13.1.2019 | 1 | 200 |
7 | 2 | 2.2.2019 | 1 | 20 |
8 | 2 | 6.4.2019 | 0 | 600 |
הפקודות שנבצע
תוצאה:
customerID | HighestUndeliverdOrder | HighestDeliverdOrder |
---|---|---|
1 | 500 | 1500 |
2 | 600 | 200 |
בעצם יצרנו טבלה חדשה המציגה עבור כל לקוח את ההזמנה הכי יקרה שלא סופקה עבורו ואת ההזמנה הכי יקרה שסופקה.