Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL] Wytłumaczenie zapytania
Forum PHP.pl > Forum > Przedszkole
Fafu
Chciałbym prosić aby ktoś wytłumaczył mi to zapytanie mysql:

  1. SELECT f.*, COUNT(t.thread_id) AS thread_count, MAX(t.thread_lastpost) AS last_post, f2.forum_name AS forum_cat_name, u.user_id, u.user_name FROM ".$db_prefix."forums f
  2. LEFT JOIN ".$db_prefix."threads t USING(forum_id)
  3. LEFT JOIN ".$db_prefix."forums f2 ON f.forum_cat = f2.forum_id
  4. LEFT JOIN ".$db_prefix."users u ON f.forum_lastuser = u.user_id
  5. WHERE ".groupaccess('f.forum_access')." AND f.forum_cat!='0' GROUP BY forum_id ORDER BY f2.forum_order ASC, f.forum_order ASC


jest to zapytanie z forum php-fusion
JoShiMa
Zapytanie czyta z 3 powiązanych tabel:
forums, threads i users

tabela forums jest powiązana dwukrotnie.

Dla wygody zapisu każdej tabeli nadano aliasy odpowiednio f, t, f2 (dla drugiego uzycia tabeli forums) i u

Sekcje ON informują które kolumny wiążą ze sobą kolejne tabele.

z tabeli o aliasie f (czyli forums) brane są wszystkie kolumny, z tabeli o aliasie t liczba rekordów i maksymalana wartość (nie wnikam czego) z tabeli f2 nazwa forum, z tabeli u id i nazwę usera

Nie wiem czego jeszcze nie rozumiesz.
Fafu
Dzięki za szybką odpowiedź, ale chciałbym prosić abyś uporządkowała to wszystko od góry do dołu bo widzę, że to jest pomieszane a chciałbym to wszystko dobrze zrozumieć.
JoShiMa
Nie jest pomieszane bo tak właśnie to trzeba czytać. Wiesz co to są relację między tabelami?

Aha jestem kobietą.
Fafu
Już poprawiłem smile.gif

Dzięki, już skumałem o co dokładnie chodzi w tym zapytaniu 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.