Hi all,

I have a select that involves a column in the result set that is expensive to 
get.
I need to use the expensive column in a subsequent calculated column.

Is there a syntax to run the expensive function once only or does it just have 
to be done,
blk_speed() is the expensive function.

Example of what I would like to do, does not work of course:
select
    b.block,
    b.p_code,
    p.description,
    p.blk_speed as "set",
    blk_speed( b.block ) as "actual",
    actual / set * 100 as "Speed %"
from block b, product p
where b.p_code = p.p_code;

This does work
select
    b.block,
    b.p_code,
    p.description,
    p.blk_speed as "set",
    blk_speed( b.block ) as "actual",
    blk_speed( b.block ) / ( p.blk_speed + 0.0001 ) * 100 as "Speed %"
from block b, product p
where b.p_code = p.p_code;

OR is postgres smart enough to know it only needs to get blk_speed() once.

Thanks

Allan


The material contained in this email may be confidential, privileged or 
copyrighted. If you are not the intended recipient, use, disclosure or copying 
of this information is prohibited. If you have received this document in error, 
please advise the sender and delete the document. Neither OneSteel nor the 
sender accept responsibility for any viruses contained in this email or any 
attachments.

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to