![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 1.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
dajmy na to mam takie przykładowe tabele: (IMG:http://img812.imageshack.us/img812/8028/tables.png) Każdy film może mieć wielu aktorów. Chciałbym wyświetlić spis filmów z grającymi w nich aktorami. Czy ktoś mi podpowie jak powinienem to zrobić (PHP + MySQL) ? pozdrawiam (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale w moim przykładzie jest relacja wiele do wielu, tzn. film posiada więcej niż jednego aktora i aktor posiada więcej niż jeden film. To chyba jednym zapytaniem tego ładnie nie pobiorę właśnie ... To, że w przykladzie pokazałem jak pobrać dane z dwoch tabel nie oznacza, ze nie mozesz ich pobrac z trzech... Idea jest ta sama. Jedyne co musisz zrobic to o jednego więcej LEFT JOIN.Cytat Ale myślałem, żeby pobrać najpierw wybrane filmy, a później zrobić zapytanie, które pobierze mi aktorów, którzy grali w pobranych przeze mnie filmach: Tez moze byc.[SQL] pobierz, plaintext SELECT a.name, fa.film_id FROM actor AS a, film_actor AS fa WHERE fa.actor_id = a.id AND (fa.film_id = 1 OR fa.film_id = 2 OR fa.film_id = 3 OR ..... ) gdzie 1,2,3,... to id filmów które wyświetlam. To by mi pobrało wszystkich aktorów związanych z tymi filmami. Co myślicie? Tylko zamiast: fa.film_id = 1 OR fa.film_id = 2 OR fa.film_id = 3 OR ..... zrob poprostu fa.film_id in (1,2,3......) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 10:21 |