Subject Way to avoid many subselects
Author Fabiano Bonin
Hi all,

Look at this query. I want to get the last invoice of each customer:

select
( select first 1 id from invoices inv where inv.customer_id =
cus.customer_id order by inv.id desc )
( select first 1 inv_date from invoices inv where inv.customer_id =
cus.customer_id order by inv.id desc )
( select first 1 number from invoices inv where inv.customer_id =
cus.customer_id order by inv.id desc )
( select first 1 ship_date from invoices inv where inv.customer_id =
cus.customer_id order by inv.id desc )
from
customers cus

Is there a way to get the same result as the query above, but
introducing the table "invoices" in the "from" clause and avoiding
these subselects?

Something like this:

select
inv.id,
inv.date,
inv.number,
inv.ship_date
from
customers cus
inner join *** insert invoices here somehow to return only the last
invoce for each customer ***

Regards,

Fabiano.