When You have several tables in your queries ALWAYS prefix the column names to avoid AMBIGUITY.Good ALIASING of the table names also helps to make the queries easier to read...SELECT Bab_Name ,tblbanks.Bank_Name ,TblAccountDetails.bank_id ,count(account_No)as total_accounts ,currency_type ,Query2.bank_name ,Query2.paidin ,Query2.paidoutFROM ( SELECT bank_name ,sum(paid_in_amount) as paidin ,sum(paid_out_amount) as paidout FROM tbltran GROUP BY bank_name ) AS Query2 LEFT JOIN ( TblAccountDetails tad INNER JOIN tblbabs on tad.Bab_id = tblbabs.Babid INNER JOIN tblbanks on tad.bank_id = tblbanks.bankid INNER JOIN tblaccounttype on tad.Accounttype = tblaccounttype.id INNER JOIN tblcurrencytype on tad.currency_type = tblcurrencytype.id ) ON Query2.bank_name = tad.bank_idWHERE bab_id = 2GROUP BY Bab_Name,tblbanks.Bank_Name,bank_id,currency_typeORDER BY Bab_Name
rockmoose