select R.*, CAST(NVL(Expended,0) as I) as expended from rta_elements R LEFT JOIN ( select sum(amount) as Expended, val(substr(MyAmount.sponsor_id,5,2)) as GroupID ; from tip ; inner join ledger on ledger.tip_id = tip.tip_id and source="RTA" ; group by 2) MyAmount ON R.ElementNum = myAmount.GroupIDHere is Cetin's
select rta_elements.*, cast(nvl(tmp.amount,0) as int)/1000 as expended ; from rta_elements ; left join ; (select cast(val(substr(sponsor_id,5,2)) as int) as sponsor_id, sum(amount) as amount ; from tip ; inner join ledger on ledger.tip_id = tip.tip_id and source="RTA" ; group by 1) tmp ; on tmp.sponsor_id = rta_elements.elementnumYours says: ON R.ElementNum = myAmount.GroupID