如何从数据库中获取每个总数?

时间:2014-04-29 05:02:14

标签: sql oracle oracle9i

如何编写查询以获得输出?

在数据库中:

表1:

id Company_accountNo
1   123
2   235 
3   456

表2:

id cheque_no company_accnopky amount
1   258        1               100
2   963        1               200
3   147        2               500
4   148        3               800
5   852        2               300

如何获得这样的输出?

Account_no   Total_Amount   No_of_Cheque
123           300               2
235           800               2
456           800               1

提前致谢..

4 个答案:

答案 0 :(得分:1)

SELECT a.Company_accountNo Account_no,
  SUM(b.amount) Total_Amount,
  COUNT(*) No_of_Cheque
FROM table1 a
LEFT JOIN table2 b
ON a.id=b.company_accnopky
GROUP BY a.Company_accountNo

答案 1 :(得分:1)

试试这个:

select t1.Company_accountNo, SUM(t2.amount) as amount, count(t2.cheque_no) as cheque_no
from table1 t1, table2 t2
where t1.id=t2.company_accnopky
group by t1.Company_accountNo

答案 2 :(得分:1)

试试这个:

SELECT
T1.Company_accountNo As Account_no,
sum(T2.Amount) As Total_Amount,
count(T1.Company_accountNo) AS No_of_Cheque  
FROM Table1 T1 Inner Join Table2 T2 ON T1.id = T2.company_accnopky 
Group By T1.Company_accountNo

我认为你错过了分组

答案 3 :(得分:0)

请尝试:

select 
    a.Company_accountNo as Account_no, 
    SUM(b.amount) as Total_Amount, 
    COUNT(*) No_of_Cheque
from 
    tbl1 a inner join tbl2 b on a.id=b.company_accnopky
group by a.Company_accountNo