Обсуждение: ...
OK... doing some serious report hacking... and I decided I wanted to
do this:
select acct_id, sum(case when recd > ('now'::date - '30 days'::timespan)::date then amt else 0) as current
from payable where not paid_p group by acct_id order by acct_id;
but pgsql gives me:
ERROR: parser: parse error at or near ")"
Now... I also thought I might be able to contruct
sum(amt * <boolean>), but this also isn't allowed. I think that we
should make an int(boolean) function.
Dave.
--
============================================================================
|David Gilbert, Velocet Communications. | Two things can only be |
|Mail: dgilbert@velocet.net | equal if and only if they |
|http://www.velocet.net/~dgilbert | are precisely opposite. |
=========================================================GLO================
David Gilbert <dgilbert@velocet.ca> writes:
> select acct_id,
> sum(case when recd > ('now'::date - '30 days'::timespan)::date
> then amt else 0) as current
> from payable where not paid_p group by acct_id order by acct_id;
> but pgsql gives me:
> ERROR: parser: parse error at or near ")"
The case construct has to be terminated with an "end" keyword;
"... else 0 end)" ought to work.
> Now... I also thought I might be able to contruct
> sum(amt * <boolean>), but this also isn't allowed. I think that we
> should make an int(boolean) function.
That's been suggested before, and I agree.
regards, tom lane