|
|
|
| вообщем есть простенький форум. 2 таблицы:
themes
id INT
title VARCHAR
discr VARCHAR
forum_id INT
avtor_id INT
publish INT
views INT
и
answers
id INT
theme_id INT
avtor_id INT
content TEXT
publish INT
вообщем в списке тем нужно вывести список тем и упорядочить их по дате последнего ответа
то есть сделать выборку из themes и упорядочить по полю publish таблицы answers. Как это сделать может подскажет кто нибудь? или может с такой моделью таблиц этого сделать вообще не получиться? тогда как? | |
|
|
|
|
|
|
|
для: parczynski
(30.03.2008 в 23:37)
| |
select
themes.title
from
themes,
answers
where
answers.theme_id = themes.id
order by answers.publish desc
|
desc - упорядочит от большему к меньшему, то есть самое большое число на первое место если наоборот - убрать desc
кстати, а почему publish - INT а не dateTime например? | |
|
|
|
|
|
|
|
для: KirillKiev
(31.03.2008 в 01:14)
| | значит так: сначала отвечу на вопрос - потому что мне лично удобнее хранить в базе результат функции time().
теперь к вашему ответу - при таком запросе произойдет выборка всех ответов для каждой темы - а мне нужно получить все темы и ТОЛЬКО ПОСЛЕДНИЙ ответ на нее одним запросом. | |
|
|
|
|
|
|
|
для: parczynski
(01.04.2008 в 19:30)
| | То есть нужно что бы в каждой теме вылезло только одно, последнее сообщение... вроде тек - проверил на здоровой базе - вроде похоже
select
max(answers.publish) as dat,
themes.title, answers.content
from
themes,
answers
where
answers.theme_id = themes.id
group BY themes.id
|
| |
|
|
|