目前,所有行中的status列均为0,而startdate至少早于now()几天,但以下查询返回的结果为空。

     select p.id, (select @days:=(datediff(now(),p.startdate))) as days from poa p
     where p.status < @days;


我可能在哪里出错?

最佳答案

SELECT id , days FROM
(
SELECT p.id as id , datediff(now(),p.startdate) as days  , p.status as status
FROM poa p
)
t WHERE t.status < t.days;

关于mysql - sql伪列在where子句中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21359769/

10-13 04:48