Как использовать таблицу в подзапросе, чтобы обойти ее отсут
Добавлено: 12 апр 2006, 19:05
ствие?
Создается вид на запросе из таблицы Trucks с участием в подзапросе таблицы Pascresp.
Таблица Pascresp может отсутствовать в базе, в таком случае нужно для подзапроса вернуть 0. Попытался реализовать запрос так:
Однако попытка выполнить такой запрос через IBExpert или FIBQuery при отсутствии pascresp сразу возвращает ошибку table unknown. Как-то вообще можно сформировать запрос так, чтобы таблица в подзапросе участвовала только при ее наличии в базе?
Создается вид на запросе из таблицы Trucks с участием в подзапросе таблицы Pascresp.
Таблица Pascresp может отсутствовать в базе, в таком случае нужно для подзапроса вернуть 0. Попытался реализовать запрос так:
Код: Выделить всё
select trucks."passingcarid", trucks."firmid",
case WHEN EXISTS(Select * from RDB$RELATIONS where UPPER(RDB$RELATION_NAME)='PASCRESP') THEN
(SELECT AVG(COALESCE("response",0)) FROM pascresp R WHERE R."id"=trucks."passingcarid" AND R."firmid"=trucks."firmid")
ELSE 0 END
from trucks