• 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

0 głosów
1,029 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 (215,210 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 (90,350 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ź 492 wizyt
+1 głos
2 odpowiedzi 1,109 wizyt
pytanie zadane 25 grudnia 2021 w Egzaminy zawodowe przez Ravor56 Nowicjusz (130 p.)
0 głosów
1 odpowiedź 1,976 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)

93,776 zapytań

142,736 odpowiedzi

323,388 komentarzy

63,381 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...