Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQLite]SQL zawiła kwerenda - czy tak ma być, czy prościej?
Forum PHP.pl > Forum > Przedszkole
arstherapia
Witajcie,

dzięki Waszym wcześniejszym podpowiedziom ułożyłem sobie w miarę przejrzyście tabele w bazie danych.
( filmy, autorzy, kategorie, statusy, filmy_kategorie, filmy_statusy ).

Zastanawiam się, kiedy muszę połączyć trzy tabele, aby uzyskać dane, czy nie przesadzam z czymś.

Chcę wylistować nazwę filmu, dane terapeuty ( autora ) wraz ze statusem ( np. promocja, premiera, etc. )
z filmów. Imię i nazwisko biorę z tabeli autorzy, status z tabeli statusy, resztę danych z tabeli filmy.

Czy to jest poprawne? Czy da się zrobić lepiej? ( działać, działa ).

  1. SELECT nazwa, opis, okladka, terapeuta_nazwa, status_nazwa FROM filmy
  2. INNER JOIN filmy_statusy
  3. ON filmy.film_id = filmy_statusy.film_id
  4. INNER JOIN terapeuci
  5. ON filmy.terapeuta_id = terapeuci.terapeuta_id
  6. INNER JOIN statusy
  7. ON filmy_statusy.status_id = statusy.status_id
  8. WHERE filmy_statusy.status_id = 2
Daimos
Działa i prawidłowo, kwestia tylko czy na pewno inner join, czy może inny join wink.gif Jeśli zawsze są rekordy w każdej tabeli to ok.
Lepiej raczej nie zrobisz, skoro chcesz dane z każdej tabeli, to każdą musisz dokleić
arstherapia
Super, dziękuję smile.gif
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.