• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

BAZY DANYCH - ZAPYTANIA DO TABELI - MATURA 2013

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
158 wizyt
pytanie zadane 3 maja 2021 w SQL, bazy danych przez NukaNuka56 Obywatel (1,080 p.)

Witam,

Dostałem takie zadanie, które jest z 2013 roku i było na maturze:

Podpunkt a i b zrobiłem bez problemu jednak z reszty nie rozumiem.

I znalazłem takie coś w Internecie i na tej podstawie zrobiłem resztę zapytań.

c)Nie za bardzo uczyliśmy się zadań z datami, dlatego wymyśliłem coś takiego,ale to nie działa:

select count(wypozyczenia.id_wyp),wypozyczenia.data_wyp from wypozyczenia where month(Date(wypozyczenia.data_wyp) between #2011/06/01# and #2011-12-31#) group by wypozyczenia.data_wyp order by count(wypozyczenia.id_wyp) asc;

d)Tutaj chce wiedzieć czy dobrze napisałem, ponieważ pokazuje empty set:

select klienci.imie,klienci.nazwisko,sum(filmy.cena_w_zl) as najwiecej from klienci inner join filmy on klienci.pesel=filmy.id_filmu group by klienci.imie,klienci.nazwisko order by sum(filmy.cena_w_zl) desc;

e)Tutaj chce wiedzieć czy dobrze napisałem, ponieważ pokazuje empty set:

select filmy.tytul,wypozyczenia.id_filmu from filmy inner join wypozyczenia on filmy.id_filmu=wypozyczenia.id_filmu where wypozyczenia.id_filmu is null;

 

komentarz 3 maja 2021 przez Ehlert Ekspert (210,790 p.)
Widzę, że nic się nie zmieniło; dziadom z CKE ciągle daleko do emerytury.

1 odpowiedź

0 głosów
odpowiedź 3 maja 2021 przez SzkolnyAdmin Szeryf (80,860 p.)

Podpunkt C.

SELECT Month(Wypozyczenia!Data_wyp) AS [Miesiąc wypożyczenia], Count(Wypozyczenia.ID_wyp) AS [Liczba wypożyczeń]
FROM Wypozyczenia
WHERE (((Wypozyczenia.Data_wyp) Between #6/1/2011# And #12/31/2011#))
GROUP BY Month(Wypozyczenia!Data_wyp)
ORDER BY Month(Wypozyczenia!Data_wyp);

Podpunkt D - masz dobry wynik.

SELECT TOP 1 Klienci!Imie & " " & Klienci!Nazwisko AS [Imie i nazwisko], Sum(Filmy.Cena_w_zl) AS [Zapłacona kwota]
FROM Klienci INNER JOIN (Filmy INNER JOIN Wypozyczenia ON Filmy.ID_filmu = Wypozyczenia.ID_filmu) ON Klienci.Pesel = Wypozyczenia.Pesel
GROUP BY Klienci!Imie & " " & Klienci!Nazwisko
ORDER BY Sum(Filmy.Cena_w_zl) DESC;

Podpunkt E - musisz zmienić rodzaj złączenia na wybierające wszystkie rekordy z tabeli Filmy i pasujące z tabeli Wypozyczenia.

SELECT Filmy.Tytul
FROM Filmy LEFT JOIN Wypozyczenia ON Filmy.ID_filmu = Wypozyczenia.ID_filmu
GROUP BY Filmy.Tytul
HAVING (((Count(Wypozyczenia.ID_wyp))=0));

 

komentarz 4 maja 2021 przez NukaNuka56 Obywatel (1,080 p.)
Hejka,dzięki za pomoc jednak w podpunkcie C, program ma problem z group by i order by.

Podobne pytania

+1 głos
1 odpowiedź 153 wizyt
+1 głos
2 odpowiedzi 165 wizyt
pytanie zadane 25 grudnia 2021 w Egzaminy zawodowe przez Ravor56 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 1,418 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)

90,900 zapytań

139,572 odpowiedzi

313,905 komentarzy

60,373 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...