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

polecenie MySQL - jak prawidłowo zapisać, aby działało?

0 głosów
81 wizyt
pytanie zadane 9 stycznia w SQL, bazy danych przez Anilorak Nowicjusz (120 p.)

Witajcie! smiley

Mam następujące tabele w bazie danych:

filmy (id_filmu, tytul, rok_produkcji, cena)
klienci (id_klienta, imie, nazwisko)
kopie (id_kopii, id_filmu, czy_dostepna)
wypozyczenia (id_klienta, id_kopii, data_wypozyczenia, data_zwrotu)

Potrzebuję napisać polecenia w MySQL realizujące zadania:

  1. Wyświetl tytuły tych filmów, które były wypożyczone zarówno przez klienta o nazwisku 'Rubik' , jak i klienta o nazwisku 'Kostka'

Moje polecenie:
SELECT filmy.tytul FROM filmy
JOIN kopie ON filmy.id_filmu = kopie.id_filmu
JOIN wypozyczenia ON kopie.id_kopii = wypozyczenia.id_kopii JOIN klienci ON wypozyczenia.id_klienta = klienci.id_klienta WHERE nazwisko = 'Rubik' AND nazwisko = 'Kostka';

No i pojawił się problem, a mianowicie - pokazuje mi kolumnę 'tytul' ale pustą. A jest jeden film 'Terminator', który był wypożyczony przez obydwie osoby.
Co jest źle z zapytaniem?
Proszę pomóżcie, bo nie mam pomysłu.

Pozdrawiam

komentarz 9 stycznia przez DragonCoder Pasjonat (21,810 p.)
Left, right, inner join. Samego joina nie ma https://www.w3schools.com/sql/sql_join.asp
komentarz 10 stycznia przez Aisekai Nałogowiec (36,700 p.)
Nie trzeba pisać inner join. Wystarczy samo join (defaultowo jest inner join, jeżeli nie podasz typu).

1 odpowiedź

0 głosów
odpowiedź 10 stycznia przez Aisekai Nałogowiec (36,700 p.)

SELECT filmy.tytul FROM filmy 
JOIN kopie ON filmy.id_filmu = kopie.id_filmu 
JOIN wypozyczenia ON kopie.id_kopii = wypozyczenia.id_kopii JOIN klienci ON wypozyczenia.id_klienta = klienci.id_klienta WHERE nazwisko = 'Rubik' AND nazwisko = 'Kostka';

Tak nie możesz. Pole nazwisko, nigdy nie będzie miało dwóch wartości (jednocześnie Rubik i Kostka). Musiałbyś to albo operacjami na setach zrobić - https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries004.htm .

Edit: Nie zobaczyłem, ze o mysql Ci chodzi - http://www.mysqltutorial.org/mysql-minus/ tutaj masz z mysql

Podobne pytania

0 głosów
1 odpowiedź 111 wizyt
pytanie zadane 29 sierpnia 2016 w SQL, bazy danych przez 123skiper Bywalec (2,180 p.)
0 głosów
3 odpowiedzi 1,001 wizyt
0 głosów
1 odpowiedź 75 wizyt
pytanie zadane 10 lutego w SQL, bazy danych przez veryape Początkujący (480 p.)
Porady nie od parady
Nie wiesz jak poprawnie zredagować pytanie lub pragniesz poznać którąś z funkcji forum? Odwiedź podstronę Pomoc (FAQ) dostępną w menu pod ikoną apteczki.FAQ

66,324 zapytań

113,061 odpowiedzi

239,218 komentarzy

46,589 pasjonatów

Przeglądających: 248
Pasjonatów: 7 Gości: 241

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.

...