USE BILBLIOTEKA_2022; -- 1. WYŚWIETL DANE O WYPOŻYCZENIA: TYTUŁ KSIĄŻKI, NAZWISKO NAJWAŻNIEJSZEGO AUTORA, -- NAZWISKO CZYTELNIKA, DATA WYPOŻYCZENIA W FORMACIE STOSOWANYM W USA ORAZ -- DATA ZWROTU W FORMACIE STOSOWANYM W POLSCE (CONVERT). SELECT tytul, autor.nazwisko AS autor_nazwisko, czytelnik.nazwisko AS czytelnik_nazwisko, convert(varchar, data_wypozyczenia, 103) AS data_wypozyczenia, convert(varchar, data_zwrotu, 103) AS data_zwrotu FROM ksiazka INNER JOIN autor_ksiazki ON ksiazka.id_ksiazka=autor_ksiazki.id_ksiazka INNER JOIN autor ON autor_ksiazki.id_autor=autor.id_autor INNER JOIN egzemplarz ON ksiazka.id_ksiazka=egzemplarz.id_ksiazka INNER JOIN wypozyczenie ON egzemplarz.id_egzemplarz=wypozyczenie.id_egzemplarz INNER JOIN czytelnik ON wypozyczenie.id_czytelnik=czytelnik.id_czytelnik; -- 2. WYŚWIETLIĆ NAZWISKO, IMIĘ CZYTELNIKA ORAZ ŚREDNI CZAS POMIĘDZY DATĄ ZWROTU, -- A DATĄ WYPOŻYCZENIA (DATEDIFF, DLA KSIĄŻEK, KTÓRE ZOSTAŁY ZWRÓCONE). SELECT wypozyczenie.id_czytelnik FROM czytelnik INNER JOIN wypozyczenie ON czytelnik.id_czytelnik=wypozyczenie.id_czytelnik GROUP BY wypozyczenie.id_czytelnik -- 3. WYŚWIETL NAZWISKA CZYTELNIKÓW KTÓRZY NIC NIE WYPOŻYCZALI (2 SPOSOBY) SELECT nazwisko FROM czytelnik LEFT JOIN wypozyczenie ON czytelnik.id_czytelnik=wypozyczenie.id_czytelnik WHERE id_wypozyczenie IS NULL -- 4. WYŚWIETLIĆ NAZWISKO, IMIĘ CZYTELNIKA, NAZWĘ KSIĄŻKI ORAZ KARĘ -- (20 GR ZA KAŻDY DZIEŃ) DLA CZYTELNIKÓW PRZETRZYMUJĄCYCH KSIĄŻKI -- (JEŻELI MINĘŁO WIĘCEJ NIŻ TRZY MIESIĄCE OD DATY WYPOŻYCZENIA). SELECT imie, nazwisko, CASE WHEN data_zwrotu IS NOT NULL THEN ((datediff(day, data_wypozyczenia, data_zwrotu) - 90) * 0.2) WHEN data_zwrotu IS NULL THEN ((datediff(day, data_wypozyczenia, getdate()) - 90) * 0.2) END AS kara FROM wypozyczenie INNER JOIN czytelnik ON wypozyczenie.id_czytelnik=czytelnik.id_czytelnik SELECT datediff(day, data_wypozyczenia, data_zwrotu) FROM wypozyczenie WHERE data_zwrotu IS NOT NULL SELECT ((datediff(day, data_wypozyczenia, getdate()) - 90) * 0.2) FROM wypozyczenie WHERE data_zwrotu IS NULL -- 5. WYŚWIETLIĆ DLA KAŻDEGO WYDAWNICTWA MIESIĘCZNE ZESTAWIENIE ZA OKRES -- OSTATNICH KILKU LAT ZAWIERAJĄCE INFORMACJE O KWOCIE NA JAKĄ W KAŻDYM -- MIESIĄCU ZAKUPIONE ZOSTAŁY KSIĄŻKI Z KAŻDEGO WYDAWNICTWA. (DATEPART) SELECT nazwa, ilosc * cena FROM wydawnictwo w1 INNER JOIN faktura ON w1.id_wydawnictwo=faktura.id_wydawnictwo INNER JOIN pozycja_faktury ON faktura.id_faktura=pozycja_faktury.id_faktura WHERE (month(data)) IN ( SELECT month(data) FROM wydawnictwo w2 INNER JOIN faktura ON w2.id_wydawnictwo=faktura.id_wydawnictwo WHERE w1.id_wydawnictwo=w2.id_wydawnictwo )