>Did you try my suggestion?
I think I did without realizing it <g> and the result was as shown in my other reply. Thanks, I think your approach was correct, if what I am showing there is what you were suggesting.
>
>In other words, just put select *, .. as balance from (your whole select here) InnerSelect
>
>>Thanks much, Sergey. Just couldn't figure out how to get the three values resolved before using them to get the fourth.
>>
>>I'm getting an "incorrect syntax" error near ')' on the last line ??? Have a feeling the paren is not the problem but just that everything inside won't resolve.
>>
>>The cross join is interesting. I get that it will yield a Cartesian product so all three fields end up in dbt , no?
>>
>>Does the primary select need aliasing? I've tried various permutations, but debtis and creditedamt don't seem to work with dbt, ad or sm
>>
>>
>>
>>>Hi Charles,
>>>
>>>You can use derived table to add a calculated column. Try
>>>
>>>SELECT *, credits-debits-creditedamt AS balance
>>> FROM (
>>> SELECT SUM(ac.yamount) AS credits
>>> FROM account_credits ac
>>> CROSS JOIN (
>>> SELECT sum(ad.yamount) AS debits,
>>> sum(ad.ycreditedamt) AS creditedamt
>>> FROM account_debits ad
>>> WHERE ad.cinmates_id=@cinmates_id
>>> ) dbt
>>> WHERE ac.cinmates_id = @cinmates_id)
>>> ) sm
>>>
>>>I feel that it can be improved but nothing else comes to mind at the moment.
>>>
>>>>
SELECT
>>>> credits = (SELECT SUM(ac.yamount)
>>>> FROM account_credits ac
>>>> WHERE ac.cinmates_id = @cinmates_id) ,
>>>> debits = (SELECT sum(ad.yamount)
>>>> from account_debits ad
>>>> WHERE ad.cinmates_id=@cinmates_id) ,
>>>> creditedamt = (SELECT sum(ad.ycreditedamt)
>>>> from account_debits ad
>>>> WHERE ad.cinmates_id=@cinmates_id )
>>>>
>>>>
>>>>In the above stored proc I would like to add a 4th colum which is balance=credits-debits-creditedamt
>>>>
>>>>Would also appreciate any insights as to other ways to design this select.
>>>>
Charles Hankey
Though a good deal is too strange to be believed, nothing is too strange to have happened.
- Thomas Hardy
Half the harm that is done in this world is due to people who want to feel important. They don't mean to do harm-- but the harm does not interest them. Or they do not see it, or they justify it because they are absorbed in the endless struggle to think well of themselves.
-- T. S. Eliot
Democracy is two wolves and a sheep voting on what to have for lunch.
Liberty is a well-armed sheep contesting the vote.
- Ben Franklin
Pardon him, Theodotus. He is a barbarian, and thinks that the customs of his tribe and island are the laws of nature.