2013-06-24 39 views
1

我有兩個結構與序列列相同的表,我試圖計算兩個不同表中顯示的序列數。 我現在用的這個權利:計算兩個表之間的重疊值?

SELECT A.sequence FROM p2.pool A WHERE EXISTS (SELECT * from 
p1.pool B WHERE B.sequence = A.sequence) 

然後我要去算結果的數量。 有沒有更簡單的方法來使用COUNT來做到這一點,所以我不必首先得到所有的結果?

回答

0

是的,有使用COUNT一個簡單的方法:

SELECT COUNT(*) 
FROM p2.pool A 
WHERE EXISTS (SELECT * 
       FROM p1.pool B 
       WHERE B.sequence = A.sequence) 

你也可以使用一個連接,而不是一個子查詢,但速度是不可能改變:

SELECT COUNT(*) 
FROM p2.pool A 
JOIN p1.pool B ON A.sequence = B.sequence 
+0

爲我工作的感謝! –