Задавайте вопросы, мы ответим
Вы не зашли.
если запрос...
SELECT
phgal_comments.fileid
, max(phgal_comments.cdate) as cdate
, phgal_images.sname
, phgal_comments.comment as comment
FROM
phgal_comments
JOIN phgal_images
ON (phgal_images.fileid = phgal_comments.fileid)
GROUP BY fileid
ORDER BY phgal_comments.cdate DESC
запрос возвращает последние записи, сделанные в таблице phgal_comments для определенного fileid. + добавляются еще несколько значений из др. таблиц...
запрос вот только работает не верно....
допустим, есть три записи в таблице phgal_comments....
FILEID COMMENT CDATE
222 111 12345
222 222 12346
222 333 12347
при выполнении запроса получается следующе....
FILEID COMMENT CDATE
222 111 12347
т.е. комммент берется из первой записи, а дата как и нужно, по максимальному значению....(3 запись)
вопрос: как сделать так, что бы комент был тоже из 3 записи???
замечу... на разных серверах по разному...
на одном работает все верно (на локальном ver. 5.0.45), а вот на сервере провайдера не хочет... работает вот так вот криво ..(ver. 5.0.70-log).
Неактивен
Дело не в версии MySQL, а в случайности. У Вас некорректно сформирован запрос.
Буквально написано: «достать какое-то значение комментария, максимальное значение
даты при равных fileid». Правильно это можно сделать, например, через подзапрос
SELECT ..., (SELECT comment FROM phgal_comments WHERE fileid = x.fileid ORDER BY cdate DESC LIMIT 1)
FROM phgal_comment x
Неактивен