Общие > Базы данных
Не тот результат какой хочу
Rodent:
У меня вот такой запрос
SELECT t . * , max( p.date ) AS last, p.author, count( * )
FROM we_topics t
INNER JOIN we_posts p ON t.tid = p.topic_id
WHERE t.forum_id = \'2\'
GROUP BY p.topic_id
ORDER BY last DESC
как вы поняли я пытаюсь вытащить последний пост в данной теме и показать его.
проблема в том что время поста нужное, то есть самое последнее, но при этом автор выдается почему-то первого поста.
В чем моя ошибка?
commander:
Rodent
покажи структуру таблиц...
Меняздесьдавнонет:
commander
ты с этим вопросом напоминаешь старого доктора из фильма "Не горюй". У того при любой болезни надо сдавать мочу. Ушибы, переломы - не важно. Сдавай.
И здесь тоже. Ну прочто никак невозможно обойтись без структуры, чтобы сообразить - при группировке кроме агрегатного поля остальные берутся от балды.
commander:
RomikChef
--- Цитировать ---
ты с этим вопросом напоминаешь старого доктора из фильма "Не горюй". У того при любой болезни надо сдавать мочу. Ушибы, переломы - не важно. Сдавай.
--- Конец цитаты ---
:) шутки понял... :)
я даже сильно всматриваться в запрос не стал... поскольку строить догадки по поводу неработоспособности запроса не зная структуру таблиц, на мой взгляд утопично ....
Rodent:
Извиняюсь, за столько скорый вопрос без уточнения данных.
Вот структура таблиц
--
-- Структура таблицы `we_topics`
--
CREATE TABLE `we_topics` (
`forum_id` smallint(5) default NULL,
`tid` int(10) NOT NULL auto_increment,
`title` varchar(100) default NULL,
`descr` varchar(100) default NULL,
`state` tinyint(1) NOT NULL default \'0\',
PRIMARY KEY (`tid`),
UNIQUE KEY `id_topic` (`tid`)
) TYPE=MyISAM AUTO_INCREMENT=92 ;
--
-- Структура таблицы `we_posts`
--
CREATE TABLE `we_posts` (
`forum_id` smallint(5) NOT NULL default \'0\',
`topic_id` int(10) NOT NULL default \'0\',
`pid` int(10) NOT NULL auto_increment,
`text` text,
`author` varchar(30) default NULL,
`date` varchar(12) default NULL,
`ip` varchar(15) default NULL,
`edit_name` varchar(30) default NULL,
`edit_date` varchar(12) default NULL,
PRIMARY KEY (`pid`),
UNIQUE KEY `id_post` (`pid`)
) TYPE=MyISAM AUTO_INCREMENT=221 ;
Что я пытаюсь сделать...
Это выдащить последний пост для каджого топика.
Что получается...
группируется все по темам, дата полседнего поста, при этом автор первого поста.
Навигация
Перейти к полной версии