История изменений
Исправление Toxo2, (текущая версия) :
Тут токены, которые HyperSQL не поддерживаются
В HSQL Database Engine 2.7.2 - точно этот запрос работает.
Поставил посмотреть, что за зверь такой )
Ваш вариант с SELECT TOP 1 bla-bla
совсем не по задаче выбирает.
Попробуйте с JOIN, как вам советовали. Типа такого:
SELECT t.*
FROM
lor_tab4 t
JOIN (SELECT obj, max( status_date ) AS max_status_date FROM lor_tab4 GROUP BY obj) tm
ON t.obj = tm.obj
AND t.status_date = tm.max_status_date
WHERE t.status = 2 AND DATEDIFF('day', t.status_date, CURRENT_DATE) <= 300
;
Забавно, что в PostgreSQL планы запросов с IN, и с JOIN абсолютно одинаковые.
Hsqldb рисует разные планы, при одинаковом результате. Правда я этот hsqldb первый раз в глаза вижу - ни бельмеса не понял в его планах.
Исходная версия Toxo2, :
Тут токены, которые HyperSQL не поддерживаются
В HSQL Database Engine 2.7.2 - точно этот запрос работает.
Поставил посмотреть, что за зверь такой )
Ваш вариант с SELECT TOP 1 bla-bla
совсем не по задаче выбирает.
Попробуйте с JOIN, как вам советовали. Типа такого:
SELECT t.*
FROM
lor_tab4 t
JOIN (SELECT obj, max( status_date ) AS max_status_date FROM lor_tab4 GROUP BY obj) tm
ON t.obj = tm.obj
AND t.status_date = tm.max_status_date
WHERE t.status = 2 AND DATEDIFF('day', Status_date, CURRENT_DATE) <= 300
;
Забавно, что в PostgreSQL планы запросов с IN, и с JOIN абсолютно одинаковые.
Hsqldb рисует разные планы, при одинаковом результате. Правда я этот hsqldb первый раз в глаза вижу - ни бельмеса не понял в его планах.