Цел 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;
Донякъде съм на загуба, когато става въпрос за обединяване на три отделни таблици и след това завъртане на данните
Опитах кода по-горе в множество други варианти, които не ме провалиха след частта за присъединяване към таблица.
Всяка помощ ще бъде много ценена.