LINUX.ORG.RU

История изменений

Исправление 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 первый раз в глаза вижу - ни бельмеса не понял в его планах.