Задача 1. Данные о ваших продажах хранятся в таблице «Покупки». Ваш торговый персонал хочет видеть данные о продажах в сводной форме с разбивкой по кварталам.
Если в вашей таблице Purchases нет данных о продажах, создайте их. Убедитесь, что данные охватывают четыре квартала. Затем напишите запрос для поворота данных следующим образом:
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
Я знаю, что мне нужно объединить три таблицы вместе, чтобы я мог сгруппировать их по названию. Какие у меня таблицы «Песни», «Альбомы» и «Покупки».
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;
Я немного в недоумении, когда дело доходит до объединения трех отдельных таблиц, а затем для поворота данных
Я пробовал приведенный выше код в нескольких других вариантах, которые не помогли мне пройти часть объединения таблиц.
Любая помощь приветствуется.