目的 1: 販売データは Purchases テーブルに格納されます。あなたの営業スタッフは、売上データをピボット形式で四半期ごとに分類して表示したいと考えています。
Purchases テーブルに売上データがない場合は、作成します。データが 4 四半期にわたることを確認してください。次に、データをピボットするクエリを次のように記述します。
Album Q1 Q2 Q3 Q4
OK Computer 2 5 3 7
Sea Change 8 6 2 1
別のテーブルまたはビューを作成しないでください。どのテーブルも変更しないでください。
クエリを dba1lesson10project1.sql として保存し、プロジェクトを渡します。
これが私がしなければならないことです。しかし、私が作業したいテーブルは次のようになります。そして、それは私がそれをまったく変更できないと課題に述べています。
CustomerID DateOfPurchase SongID
1 2007-03-31 3
3 2007-06-30 4
4 2007-09-30 4
5 2007-12-31 5
タイトルでグループ化できるように、3 つのテーブルを結合する必要があることはわかっています。私の曲、アルバム、および購入テーブルです。
SELECT Albums.Title FROM Albums
LEFT JOIN Songs
INNER JOIN Purchases
ON Songs.SongID = Purchases.SongID
ON Albums.Title = Purchases.SongID,
SELECT Title,
SUM(CASE WHEN QUARTER(DateOfPurchase) = 1 THEN 1 ELSE 0 END) AS 'Q1',
SUM(CASE WHEN QUARTER(DateOfPurchase) = 2 THEN 1 ELSE 0 END) AS 'Q2',
SUM(CASE WHEN QUARTER(DateOfPurchase) = 3 THEN 1 ELSE 0 END) AS 'Q3',
SUM(CASE WHEN QUARTER(DateOfPurchase) = 4 THEN 1 ELSE 0 END) AS 'Q4'
From Purchases
GROUP BY Title;
3つの別々のテーブルを結合してからデータをピボットすることになると、私はここでちょっと途方に暮れています
上記のコードを他の複数のバリアントで試しましたが、テーブル結合部分を通過できませんでした。
どんな助けでも大歓迎です。