Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie 2 danych z 1 pola.
Forum PHP.pl > Forum > Bazy danych > MySQL
lukasamd
Witam,
mam skrypt forum, chciałbym pobrać dane:

- id forum
- id tematu
- id posta
- nazwa forum
- nazwa tematu
- id autora tematu
- id autora postu
- nick autora tematu
- nick autora postu

Dane są w tabelach:
- users
- forums
- threads

Niestety, ale w tabeli threads nie są zapisywane nicki ani autorów ani ostatnich postujących w danych tematach, muszę to więc wyciągnąć z dodatkowej tabeli users - chciałbym wyciągnąć całość przy użyciu jednego zapytania.

Na razie mam tyle:

  1. SELECT t.forum_id, t.thread_id, t.thread_subject, t.thread_author, t.lastpost_id, t.thead_lastuser, t.thread, f.forum_name, u.user_name, u.user_name AS poster_nick


Jak widać, mam 2 razy pobierane user_nick, jak mam zaznaczyć, iż jedno ma dotyczyć usera z id określonego za pomocą thread_author a drugie usera z id = thead_lastuser?
ayeo
Witam!

To są absolutne podstawy! Zapraszam do przeczytania manuala. Szukaj: JOIN

Pozdrawiam!
lukasamd
Nie chcę używać JOIN, niepotrzebne mi łączenie całych tabel. Wiem jak połączyć po wspólnym polu bez użycia JOIN.
phpion
~ayeo dobrze prawi. Musisz ponownie dołączyć tabelę użytkowników ale tym razem na innym warunku, np.
  1. SELECT a.*, b.user_name AS thread_author_name, c.user_name AS thread_lastuser_name FROM threads a LEFT JOIN users b ON b.id = a.thread_author LEFT JOIN users c ON c.id = a.thread_lastuser;

Coś w tym stylu. Musisz tylko przystosować tą ideę do swojego zapytania.
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.