Autor Zpráva
maxx
Profil *
Zdravim,
zkouším si udělat jednoduché fórum a potřeboval bych udělat řazení příspěvků podle poslední odpovědi na dané téma. A pokud nebude na dané téma odpověd, tak ať se bere jako datum poslední odpovědi čas přidání topicu. Zatím mám následující, ale nefunguje to přesně, jak by mělo:
SELECT t.*, (SELECT max(p.post_datum) FROM posts as p WHERE p.topic_id=t.topic_id) as posledni_datum
FROM topics as t
ORDER BY posledni_datum DESC

Dík za pomoc
maxx
Profil *
Omlouvám se za špatně zařazené téma, prosím případně o přesunutí. Díky
SwimX
Profil
ORDER BY posledni_datum DESC - to by mělo být dobře, v jakém formátu je posledni_datum?
maxx
Profil *
V unixovém formátu. Jenže jakmile přidám další topic, tak se zařadí na konec, teprve až po té, co na něj někdo odpoví, se začne řadit správně
Alphard
Profil
zkuste to nějak takhle, zvýraněný sloupec neznám
SELECT t.*, ifnull((SELECT max(p.post_datum) FROM posts as p WHERE p.topic_id=t.topic_id), t.topic_datum) as posledni_datum
FROM topics as t
ORDER BY posledni_datum DESC

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0