Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --AN1 [3 pkt]
- --Znajdź klientów którzy zostali dodani pomiędzy 1.02 2010 a 31.12.2012
- --Wynik posortuj leksykograficznie po nazwisku i imieniu.
- --Rozwiązanie:
- SELECT * FROM klient WHERE data_dodania BETWEEN '2010-02-01' AND '2012-12-31'
- ORDER BY nazwisko, imie ASC
- --AN2 [4 pkt]
- --W każdym koszyku (tabela koszyk) zmniejsz cenę netto produktu o 3% o ile jest
- --zamówionych więcej niż 4 sztuk tego produktu (tabela koszyk kolumna ilosc_sztuk).
- --Rozwiązanie:
- UPDATE koszyk SET cena_netto=cena_netto*0.97 WHERE ilosc_sztuk>4
- --AN3 [4 pkt]
- --Usuń statusy zamówień (tabela status), które ani razu nie zostały przyjęte
- --przez zamówienie (zobacz tabela zamówienie_status).
- --Rozwiązanie:
- DELETE FROM status WHERE id_status NOT IN (SELECT DISTINCT id_status FROM zamowienie_status)
- --AN4 [4 pkt]
- --Dla każdej nazwy miejscowości oblicz ilu mieszka w niej klientów.
- --(Uwzględnij też nazwy miejscowości, w których nie mieszka żaden klient,
- --a znajdują się one w tabeli adres.)
- --Wynik posortuj malejąco po obliczonej ilości, a dla takiej samej
- --ilości posortuj leksykograficznie po nazwie miejscowości.
- --Rozwiązanie:
- SELECT a.miejscowosc, COUNT(k.id_adres) AS ilosc
- FROM adres a LEFT JOIN klient k ON a.id_adres=k.id_adres
- GROUP BY a.miejscowosc
- ORDER BY ilosc DESC, a.miejscowosc ASC
- --AN5 [5 pkt]
- --Znajdź nazwiska i imiona pracowników, którzy łącznie sprzedali najmniejszą ilość sztuk
- --różnych produktów.
- --(Dla każdego pracownika należy zsumować wszystkie ilości sztuk z tabeli koszyk
- --i znaleźć pracownika/ów, którzy mają taką ilość najmniejszą.
- --Może być kilku takich pracowników.)
- --Proszę nie używać konstrukcji TOP 1 WITH TIES.
- --Rozwiązanie:
- SELECT TOP 1 WITH TIES p.imie, p.nazwisko, SUM(k.ilosc_sztuk) AS ilosc_sztuk
- FROM pracownik p INNER JOIN zamowienie z ON p.id_pracownik=z.id_pracownik
- INNER JOIN koszyk k ON k.id_zamowienie=z.id_zamowienie
- GROUP BY p.imie, p.nazwisko
- ORDER BY ilosc_sztuk ASC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement