Как исправить запрос под mysql 5 на mysql 4

ShadowSnake

Новичок
Как исправить запрос под mysql 5 на mysql 4

Столкнулся с проблемой. На сервере под который писался этот запрос стоит mysql 5, а при переносе на другой сервер где стоит mysql 4.0.18 запрос не работает. Как это можно исправить? mysql говорит - "#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT sectionid, MAX( date ) AS max_date FROM elab_forum_repli "

[SQL]
SELECT elab_forum_replies.*, elab_forum_sections.*
FROM elab_forum_replies LEFT JOIN elab_forum_sections ON elab_forum_replies.sectionid=elab_forum_sections.sectionid, (
SELECT sectionid, MAX( date ) AS max_date
FROM elab_forum_replies
GROUP BY sectionid
) AS replies2
WHERE elab_forum_replies.sectionid = replies2.sectionid AND elab_forum_replies.date = replies2.max_date
ORDER BY elab_forum_sections.sectionid
[/SQL]

Как понял, вложенные запросы не работают 4.0.x версиях, а как сделать то же самое но старыми запросами ума не приложу...
 

ShadowSnake

Новичок
Ага, это то понятно, пытаюсь сейчас сделать через временную таблицу, но явно знаний не хватает... Наваял пока только нерабочий запрос... Может кто подскажет куда копать?

[sql]
CREATE TEMPORARY TABLE temp_repl SELECT sectionid, MAX( date ) AS max_date
FROM elab_forum_replies
GROUP BY sectionid;

SELECT elab_forum_replies.*, elab_forum_sections.*
FROM elab_forum_replies LEFT JOIN elab_forum_sections ON elab_forum_replies.sectionid=elab_forum_sections.sectionid,
LEFT JOIN temp_repl ON elab_forum_replies.sectionid=temp_repl.sectionid
WHERE elab_forum_replies.sectionid = replies2.sectionid AND elab_forum_replies.date = temp_repl.max_date
ORDER BY elab_forum_sections.sectionid;
[/sql]

-~{}~ 12.04.06 10:49:

Спасибо, сам сделал... Сам дурак, ошибся...

[sql]
CREATE TEMPORARY TABLE temp_repl SELECT sectionid, MAX( date ) AS max_date
FROM elab_forum_replies
GROUP BY sectionid;

SELECT elab_forum_replies.*, elab_forum_sections.*, temp_repl.max_date
FROM elab_forum_replies LEFT JOIN elab_forum_sections ON elab_forum_replies.sectionid=elab_forum_sections.sectionid
LEFT JOIN temp_repl ON elab_forum_replies.sectionid=temp_repl.sectionid
WHERE elab_forum_replies.sectionid = temp_repl.sectionid AND elab_forum_replies.date = temp_repl.max_date
ORDER BY elab_forum_sections.sectionid;
[/sql]
 
Сверху