Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie SELECT dla forum
Forum PHP.pl > Forum > Bazy danych > MySQL
aleksander
Witam,

piszę skrypt forum, i mam niemały problem ze stworzeniem zapytania SELECT.

Mam trzy tabele:
Cytat(tematy)
+---------+
| Field  |
+---------+
| tematid |
| forumid |
| userid  |
| temat  |
| data    |
| tresc  |
+---------+
Cytat(posty)
+---------+
| Field  |
+---------+
| postid  |
| tematid |
| forumid |
| userid  |
| temat  |
| data    |
| tresc  |
+---------+
Cytat(users)
+-----------+
| Field    |
+-----------+
| userid    |
| login    |


W pierwszej trzymam wszystkie rozpoczęte tematy, w drugiej wszystkie odpowiedzi a trzeciej wszystkich userów. Teraz chcę stworzyć zapytanie SELECT, wyświetlające wszystkie topici danego forum. Zapytanie ma spełniać następuujące wymagania:
- wyświetlanie nazwy tematu, loginu usera rozpoczynajacego temat, liczbe odpowiedzi i login usera który jako ostatni odpowiedział w temacie
- sortowanie wg ostatnio napisanego posta
(czyli ogólnie standardowo jak w każdym forum)
Niestety mam z tym spore problemy, dlatego proszę Was o pomoc. Dotychczas stworzyłem (przy pomocy Sh4dowa) następujące zapytanie (nie działające biggrin.gif ):
  1. SELECT t.tematid, t.userid, t.temat, MAX(p.DATA) AS DATA,
  2. COUNT(p.postid) AS ilosc_postow
  3. FROM tematy AS t LEFT JOIN posty AS p ON t.tematid = p.tematid
  4. WHERE t.forumid = 1
  5. GROUP BY tematid
  6. ORDER BY DATA DESC;
File
Za duzo kombinujesz, podepnij to przez ODBC do Accessa i sam Ci stworzy zapytanie, ty tylko bedzie klikal co i jak ... Ja tak przynajmniej robie biggrin.gif
popbart
Zmień napewno
GROUP BY tematid
na:
GROUP BY t.tematid
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.