ZADANIA z SQL'a
Lista magazynów (IDMagazynu, NazwaMagazynu, KodMagazynu) z liczba lokalizacji przyporządkowanych do danego magazynu; uporządkowana wg liczby lokalizacji (malejąco).
SELECT M.IDMagazynu, M.NazwaMagazynu, M.KodMagazynu, COUNT(M.IDMagazynu) AS liczba_magazynow
FROM Magazyn M, Lokalizacja L
WHERE M.IDMagazynu = L.IDMagazynu
GROUP BY M.IDMagazynu, M.NazwaMagazynu, M.KodMagazynu
ORDER BY liczba_magazynow DESC
Lista 5 towarów, których łączna liczba sztuk (JM - jednostka miary) przechowywanych magazynach jest największa; uporządkowana wg łącznej liczby - malejąco.
SELECT TOP 5 T.NazwaTowaru, SUM(S.StanAktualny) AS liczba_sztuk
FROM Towar T, StanAktualny S
WHERE T.IdTowaru = S.IdTowaru
GROUP BY T.NazwaTowaru
ORDER BY liczba_sztuk DESC
Lista najczęściej wykonywanych typów operacji w roku 2003; uporządkowana wg liczby wystąpień malejąco.
SELECT O.TypOperacji, COUNT(O.TypOperacji) AS liczba_wystapien
FROM OperacjaMagazynowa O
WHERE O.DataOperacji LIKE '%2003%' // LIKE mozna zamienic na YEAR 2003
GROUP BY O.TypOperacji
ORDER BY liczba_wystapien DESC
Lista lokalizacji (IDLokalizacji, NazwaLokalizacji, KodMagazynu) z liczbą pozycji towarów znajdujących się na stanie lokalizacji, takich gdzie liczba przechowywanych towarów w lokalizacji wynosi co najmniej 100 pozycji; listę należy uporządkować wg liczby towarów (malejąco) i kodu magazynu (rosnąco).
SELECT L.IDLokalizacji, L.NazwaLokalizacji, M.KodMagazynu, COUNT(T.IdTowaru) AS liczba_towarow
FROM Lokalizacja L, Magazyn M, StanAktualny S, Towar T
WHERE L.IDLokalizacji = S.IDLokalizacji AND L.IDMagazynu = M.IDMagazynu AND S.IdTowaru = T.IdTowaru
GROUP BY L.IDLokalizacji, L.NazwaLokalizacji, M.KodMagazynu
HAVING SUM(S.StanAktualny) > 100
ORDER BY liczba_towarow DESC, M.KodMagazynu ASC
Lista 100 najbardziej wartościowych towarów przechowywanych magazynach (liczba pozycji i cena towaru); uporządkowana wg wartości towaru malejąco.
SELECT TOP 100 T.IdTowaru, T.NazwaTowaru, SUM(S.Cena*S.StanAktualny) AS Wartosc
FROM Towar T, StanAktualny S
WHERE T.IdTowaru = S.IdTowaru
GROUP BY T.IdTowaru, T.NazwaTowaru
ORDER BY Wartosc DESC