Выберите AS не работает в InterBase - PullRequest
3 голосов
/ 18 февраля 2011

работает

select payeeid, EXTRACT(WEEKDAY FROM checkdate) as DOW, 
(bankcleared - checkdate) as DateDiff  
from Master  
where (bankcleared is not null)  
order by payeeid, DOW, DateDiff  

добавление DateDiff к Where - не работает

select payeeid, EXTRACT(WEEKDAY FROM checkdate) as DOW, 
(bankcleared - checkdate) as DateDiff  
from Master  
where (bankcleared is not null)  AND (DateDiff >= 1)  
order by payeeid, DOW, DateDiff  

Ответы [ 2 ]

11 голосов
/ 18 февраля 2011

Вы можете использовать псевдонимы столбцов только в предложениях GROUP BY, ORDER BY или HAVING.

Стандартный SQL не позволяет ссылаться на псевдоним столбца в предложении WHERE.Это ограничение наложено потому, что при выполнении кода WHERE значение столбца может быть еще не определено.

Попробуйте это

select payeeid, EXTRACT(WEEKDAY FROM checkdate) as DOW, 
(bankcleared - checkdate) as DateDiff
from Master
where (bankcleared is not null) AND ((bankcleared - checkdate)>= 1)
order by payeeid, DOW, DateDiff 

Для получения дополнительной информации перейдите по этим ссылкам

Можно ли использовать псевдоним в предложении WHERE в mysql?

Неизвестный столбец в выражении Where

0 голосов
/ 18 февраля 2011
select payeeid, 
       EXTRACT(WEEKDAY FROM checkdate) as DOW, 
       (bankcleared - checkdate) as DateDiff
from Master
WHERE (bankcleared is not null) 
AND   ((bankcleared - checkdate)>= 1)
Order by  payeeid, DOW, DateDiff 
...