vbhargav80
asked on
Find the Max value of different fields in a row
Dear Experts,
I have a table that has 5 columns for balances of 5 different accounts a customer holds. So the table looks as follows
CustID Acct1 Bal1 Acct2 Bal2 Acct3 Bal3 Acct4 Bal4 Acct5 Bal5
I need to write a query that returns all the custID's and the maximum balance of all the accounts. The resultset should look as follows
CustID MAX_Balance
I know that MAX cannot be used in this case as it finds the max within a column. I need to find the max within a row. How can this be done? Please help.
Thanks
I have a table that has 5 columns for balances of 5 different accounts a customer holds. So the table looks as follows
CustID Acct1 Bal1 Acct2 Bal2 Acct3 Bal3 Acct4 Bal4 Acct5 Bal5
I need to write a query that returns all the custID's and the maximum balance of all the accounts. The resultset should look as follows
CustID MAX_Balance
I know that MAX cannot be used in this case as it finds the max within a column. I need to find the max within a row. How can this be done? Please help.
Thanks
bedtime, night all
ASKER
Hi rockiroads,
thanks for the suggestion. I know this is how it should be done and seems sensible. But I've just taken this application over from a demoniac programmer who has now been sacked for his animalistic logic.
Unfortunately, we cannot change the table design since people have been using it for years. I have to work this design and come up with a solution.
Please HELP!
thanks for the suggestion. I know this is how it should be done and seems sensible. But I've just taken this application over from a demoniac programmer who has now been sacked for his animalistic logic.
Unfortunately, we cannot change the table design since people have been using it for years. I have to work this design and come up with a solution.
Please HELP!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for the solution. Works great!
tblCustomer
CustID
Name
etc
tblAccounts
AcctID
CustID
Balance
Now this is a one to many, u can have as many accounts per customer as u like and it can vary
all u now need to do is
select CustID, Max(Balance)
FROM tbLCustomer, tblAccounts
WHERE tblCustomer.CustID = tblAccounts.CustID
GROUP BY CustID
I believe your table definiton is wrong. What if u decide to have 6 accounts, think if the work involved, u have to change table defintion, your queries etc
using a table like I suggested, its merely adding another row
u can then extend tblAccounts to include account type etc