Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Поле из хранимой процедуры и фильтрация


Автор: TechnoMag 6.6.2016, 18:01
FireBird 2.5

Код

select
    wh1.whdlng AS LNG,
    wh1.whdlat AS LAT,
    (SELECT DISTANCE FROM GET_DISTANCE(wh1.WHDLAT, wh1.WHDLNG, 47.843402, 35.130989)) AS DIST1
    from whdetails wh1
     where dist1<3000



ругается на неизвестное поле DIST1 в where

Автор: Akina 6.6.2016, 19:01
Классически считается, что поле выходного набора получает имя только после формирования этого выходного набора, а никак не во время выполнения запроса. Если документацией явно не описывается иное... 

Автор: Akella 7.6.2016, 16:09
в where придётся писать точно такое же, что и выше

Код

where (SELECT DISTANCE FROM GET_DISTANCE(wh1.WHDLAT, wh1.WHDLNG, 47.843402, 35.130989)) < 3000

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)