Skip to content
Snippets Groups Projects
Commit f91b51a4 authored by Szymon Pawłowski's avatar Szymon Pawłowski
Browse files

Cwiczenia SQL lab

parent 95edbbac
Branches
No related merge requests found
Pipeline #2134 canceled with stages
cw.sql 0 → 100644
-- ITEMID, SUBCLASS, CLASS, DEPARTMENT, BRAND
SELECT TOP 100 a.ITEMID, b.SubclassName, c.ClassName, d.DepartmentName, e.BrandName
FROM dw.Item a
JOIN dw.Subclass b
ON a.SubclassID = b.SubclassID
JOIN dw.Class c
ON b.ClassID = c.ClassID
JOIN dw.Department d
ON c.DepartmentID = d.DepartmentID
JOIN dw.Brand e
ON d.BrandID = e.BrandID
-- Stylecolor, SUBCLASS, CLASS, DEPARTMENT, BRAND
SELECT DISTINCT a.StyleColor, b.SubclassName, c.ClassName, d.DepartmentName, e.BrandName
FROM dw.Item a
JOIN dw.Subclass b
ON a.SubclassID = b.SubclassID
JOIN dw.Class c
ON b.ClassID = c.ClassID
JOIN dw.Department d
ON c.DepartmentID = d.DepartmentID
JOIN dw.Brand e
ON d.BrandID = e.BrandID
ORDER BY StyleColor
-- SUBCLASS, CLASS, DEPARTMENT, BRAND
SELECT TOP 100 b.SubclassName, c.ClassName, d.DepartmentName, e.BrandName
FROM dw.Subclass b
JOIN dw.Class c
ON b.ClassID = c.ClassID
JOIN dw.Department d
ON c.DepartmentID = d.DepartmentID
JOIN dw.Brand e
ON d.BrandID = e.BrandID
-- Sprzedaz dla Galeri Batyckiej za maj 2021 po depach, DEP SLSU
SELECT e.DepartmentName, SUM(a.SLSU) AS SLSU_Total
FROM demo.Sales a
JOIN dw.Item b
ON a.ITEMID = b.ITEMID
JOIN dw.Subclass c
ON b.SubclassID = c.SubclassID
JOIN dw.Class d
ON c.ClassID = d.ClassID
JOIN dw.Department e
ON d.DepartmentID = e.DepartmentID
WHERE a.StoreID = (SELECT StoreID FROM demo.Store WHERE StoreMale = 'Galeria Baltycka')
AND a.TransactionDate LIKE '202105%'
GROUP BY e.DepartmentName
-- Najlepsze 3 tygodnie dzie po dniu dla stylokoloru \
-- w salonie z najwieksza sprzedaza w trzech najlepszych tygodniach
-- STCL, ITEMID, STORE, Date, EOP, SLS
;WITH SLSU_Total_Best_3Weeks AS (
SELECT TOP 1 a.StoreID, b.StyleColor, SUM(a.SLSU) AS SLSU_Total
FROM demo.Best3WeeksPerDay a
JOIN dw.Item b
ON a.ITEMID = b.ITEMID
GROUP BY a.StoreID, b.StyleColor
ORDER BY SLSU_Total DESC
)
SELECT TOP 100 c.StyleColor, b.ITEMID, b.StoreID, b.Date, b.EOPU, b.SLSU
FROM demo.Best3WeeksPerDay b
LEFT JOIN dw.Item c
ON b.ITEMID = c.ITEMID
WHERE b.StoreID = (SELECT StoreID FROM SLSU_Total_Best_3Weeks)
AND c.StyleColor = (SELECT StyleColor FROM SLSU_Total_Best_3Weeks)
-- Zestawienie tygodni zycia produktu z najepszymi trzema tygodniami
-- - ile bylo przypadkow ze tydzien byl jednym z trzech najlepszych
-- WEEK, CasesCount
-- per STCL gdy jest najlepszym
SELECT STCL,
StclWeek,
SUM(
CASE
WHEN WeekRank = 1 THEN 1
ELSE 0
END
) AS CasesCount
FROM demo.Best3WeeksPerWeek
GROUP BY STCL, StclWeek
ORDER BY STCL, StclWeek
-- all gdy jest najlepszym
SELECT StclWeek,
SUM(
CASE
WHEN WeekRank = 1 THEN 1
ELSE 0
END
) AS CasesCount
FROM demo.Best3WeeksPerWeek
GROUP BY StclWeek
ORDER BY StclWeek
-- all gdy jest jednym z trzech najlepszych
SELECT StclWeek,
COUNT(*) AS CasesCount
FROM demo.Best3WeeksPerWeek
GROUP BY StclWeek
ORDER BY StclWeek
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment