Вопрос про использование JOIN в хранимых процедурах
Добавлено: 07 фев 2005, 17:31
Есть 2 таблицы:
ARENDA:
ID BIGINT
ARENDA_DET:
ARENDA_ID BIGINT
DATE_BEGIN DATE
ID - первичный ключ, во второй таблице ARENDA_ID - внешний ключ,ссылка на ID из первой таблицы. Во второй таблице хранятся история изменений во времени, типа "такой-то датой - внесено такое-то изменение".
В хранимой процедуре мне надо отловить идентификаторы записей из первой таблицы и дату последних изменений на выбранную дату (передаю параметр CALC_DATE). Пытаюсь сделать следующее:
SELECT ARENDA.ID, AD.DATE_BEGIN FROM ARENDA LEFT JOIN
(SELECT DISTINCT ARENDA_ID, MAX(DATE_BEGIN) AS DATE_BEGIN FROM ARENDA_DET WHERE DATE_BEGIN<=:CALC_DATE GROUP BY ARENDA_ID) AD ON ARENDA.ID=AD.ARENDA_ID
И.... Ни фига не работает!!! FB 1.5
Сразу предупреждаю: FB изучаю после MS SQL и потому некоторые специфические вещи могу не знать. У мелкомягкого сервера в аналогичном случае все работает.
ARENDA:
ID BIGINT
ARENDA_DET:
ARENDA_ID BIGINT
DATE_BEGIN DATE
ID - первичный ключ, во второй таблице ARENDA_ID - внешний ключ,ссылка на ID из первой таблицы. Во второй таблице хранятся история изменений во времени, типа "такой-то датой - внесено такое-то изменение".
В хранимой процедуре мне надо отловить идентификаторы записей из первой таблицы и дату последних изменений на выбранную дату (передаю параметр CALC_DATE). Пытаюсь сделать следующее:
SELECT ARENDA.ID, AD.DATE_BEGIN FROM ARENDA LEFT JOIN
(SELECT DISTINCT ARENDA_ID, MAX(DATE_BEGIN) AS DATE_BEGIN FROM ARENDA_DET WHERE DATE_BEGIN<=:CALC_DATE GROUP BY ARENDA_ID) AD ON ARENDA.ID=AD.ARENDA_ID
И.... Ни фига не работает!!! FB 1.5
Сразу предупреждаю: FB изучаю после MS SQL и потому некоторые специфические вещи могу не знать. У мелкомягкого сервера в аналогичном случае все работает.