• 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

Fiszki IT
Fiszki IT
0 głosów
62 wizyt
pytanie zadane 3 maja w SQL, bazy danych przez NukaNuka56 Użytkownik (980 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,910 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 (57,360 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 (980 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ź 41 wizyt
0 głosów
1 odpowiedź 1,170 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 51 wizyt
pytanie zadane 2 dni temu w SQL, bazy danych przez ChrisOOO Użytkownik (770 p.)
Porady nie od parady
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

84,756 zapytań

133,559 odpowiedzi

295,985 komentarzy

56,011 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.

...