2013-02-19 102 views
1

我有2代表我想加入其中,並..獲取計算每個註冊記錄

A: 
ID Otherfields.. 
1 ... 
2 
3 
4 


B: 
ID aId Otherfields.. 
1 1 ... 
2 1 
3 2 
4 1 

所以我完全有能力通過a.Id加入他們,但如何讓我得到的計算表B中的匹配,如:

a.id count(b) 
1  3 
2  1 

我覺得它必須是count()over()的東西,但不能記起確切的用法。

謝謝!

+0

你正在使用哪些DBMS? – 2013-02-19 10:55:27

+0

Oracle - 這不是一個可以解決的問題嗎? – AlessandroEmm 2013-02-19 12:04:34

回答

3

你可以簡單地這樣做:

SELECT 
    A.ID, COUNT(b.ID) 
FROM A 
INNER JOIN B ON A.Id = b.aID 
GROUP BY A.ID 
+0

愚蠢的我,從來沒有想過要多加謝謝! – AlessandroEmm 2013-02-19 12:03:32

2

你可以有

SELECT A.ID, COUNT(b.ID) 
FROM A 
LEFT JOIN B ON A.Id = b.aID 
GROUP BY A.ID 

這會給你不b.ID存在,從而展示自己的計數爲0。

所有 a.ID小號

例如,

ID Count 
1 3 
2 1 
3 0 
4 0