3

作品

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

-に追加DateDiffWhereても機能しません

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  
4

2 に答える 2

11

列のエイリアスは、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 

詳細については、これらのリンクを参照してください

mysql の WHERE 句でエイリアスを使用できますか?

Where句の不明な列

于 2011-02-18T13:55:40.913 に答える
0
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 
于 2011-02-18T13:57:43.420 に答える