• 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
56 wizyt
pytanie zadane 3 maja w SQL, bazy danych przez NukaNuka56 Użytkownik (990 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 przez Ehlert Ekspert (204,710 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 przez SzkolnyAdmin Maniak (53,480 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 przez NukaNuka56 Użytkownik (990 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ź 36 wizyt
0 głosów
1 odpowiedź 1,154 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 92 wizyt
pytanie zadane 25 lutego 2016 w SQL, bazy danych przez Filip31411 Dyskutant (8,840 p.)
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

84,130 zapytań

132,899 odpowiedzi

293,918 komentarzy

55,554 pasjonatów

Motyw:

Akcja Pajacyk

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

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

...