Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> id i nazwa użytkownika, którego post ma najwyższą datę, skomplikowane zapytanie
onlyX
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Grajewo

Ostrzeżenie: (0%)
-----


Witam!

Skonstruowałem zapytanie wyświetlające wszystkie tematy danego forum (id, temat, id autora, nazwę autora, liczbę postów, datę osatniej modyfikacji):

  1. SELECT t.id AS 'topic_id', t.name AS 'topic_name', p.user_id AS 'maker_id', u.name AS 'maker', COUNT( p.id ) AS 'post_count', MAX( p.time ) AS 'last_time'
  2. FROM forums f, topics t, posts p, users u
  3. WHERE f.id = t.forum_id AND t.id = p.topic_id AND u.id = p.user_id
  4. GROUP BY t.id
  5. ORDER BY MAX( p.time ) DESC


Chciałbym do tego dodać dane ostatniego postu [p.id] (tego z MAX(p.time)) i dane jego autora [p.user_id][u.name], ale pogubiłem się.
Wydaje mi się, że z WHERE odpadnie u.id = p.user_id, ale co dalej?
Da się wydobyć te dane razem z tym zapytaniem? Jeśli tak, to będę wdzięczny za wskazówki.

Ten post edytował onlyX 3.10.2009, 15:32:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Da się wydobyć te dane razem z tym zapytaniem? Jeśli tak, to będę wdzięczny za wskazówki.

Zrób pole, w którym będziesz miał ustawiane ID najnowszego posta dla rekordu z tematem.

Można - oczywiście - wymusić zachowanie normalizacji przez wykorzystanie z podzapytania, ale będzie to zabójcze dla bazy. Najlepiej osobne pole na ID najnowszego tematu i zwykłym joinem sobie dociągasz. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 22:38