Subject RE: [firebird-support] firebird sql alias for condition
Author Svein Erling Tysvær
>I did the following:
>
>select first 1 cast(d_ein || ' ' || z_ein as timestamp) as tmp from t_zeitschaltuhr order by tmp into :tmp_next_e;
>
>select first 1 cast(d_aus || ' ' || z_aus as timestamp) as tmp from t_zeitschaltuhr order by tmp into :tmp_next_a;
>
>d_ein is a date, z_ein a time, I would like a timestamp and get the next after now. (Time to switch the machine next
>time off and on:

>This time should be the next in the future, so I thought: where tmp > 'now'
>, but I can't use the alias for the condition. What can I do?

If you're on a recent Firebird version, Olaf, you can do something like:

with TmpTable(tmp) as
(select cast(d_ein || ' ' || z_ein as timestamp) as tmp from t_zeitschaltuhr where d_ein >= current_date)

select tmp from TmpTable
where tmp > 'now'
order by tmp
rows 1

HTH,
Set