Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Pomoc w ułożeniu zapytania
Forum PHP.pl > Forum > Przedszkole
creanout
Hej, mam dwie tabelki filmy i aktorzy
Chcę wyświetlić wszystkie filmy + aktorów z danego filmu
Moje zapytanie wygląda tak:

  1. SELECT f.id, f.tytul, (SELECT aktor_imie, aktor_nazwisko FROM aktorzy WHERE aktor_film = m.id) FROM filmy AS f


Dostaję błąd: Subquery returns more than 1 row
pedro84
Odpowiedź: join.
creanout
Cytat(pedro84 @ 10.08.2013, 22:14:51 ) *
Odpowiedź: join.


Tak, wiem, zwraca mi dwa razy rekord (bo dwóch aktorów) z filmem (tym samym) i nie mam pomysłów jak wyświetlić to w jednym divie... że np.
Tytuł filmu
- aktor 1
- aktor 2
MadMark
Jeśli mamy tabelki:
Aktorzy
ID | Imie | Nazwisko | Zagral_w_filmie
Filmy
ID | Tytul |Jakies_inne_info
To zapytanie:
  1. select distinct Imie, Nazwisko, Tytul from Aktorzy as a JOIN Filmy as f ON (f.ID = a.Zagral_w_filmie)


Rozwiązanie ubogie, bo powielasz imie i nazwisko w tabeli aktorzy dla każdego ID filmu.

Rozwiązanie bardziej "PRO" to trzecia tabela z dwoma polami (klucze obce) ID_Filmu | ID_Aktora. Wtedy jest łatwiej i do pewnego stopnia unikasz redundancji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.