2013-09-26 41 views
0

藉此查詢:如何COUNT(*)在內部表現加入

​​

我預計COUNT(*)計算在Sales.Customer但讓我吃驚的行它計算中的行數連接的桌子。

任何想法,爲什麼這是?另外,有沒有一種方法可以明確指定COUNT()應該操作哪個表?

+4

它將計算來自聯結結果的所有行。也許你想要'COUNT(DISTINCT c.CustomerID)' –

+0

Ahhh im和你在一起。加入的結果是一張新桌子!現在明白了! –

回答

3

查詢處理訂單......

FROM子句的SELECT子句之前進行處理 - 這是說 - 按SELECT進場的時候,有它僅選擇一個(虛擬)表從 - 即,各個表他們加入(JOIN),過濾(WHERE)等

如果你只是要計算在一張桌子上,那麼你可以嘗試幾件事...

COUNT(DISTINCT table1.id) 

或tu在你想要計算的表中,使用count()內的子查詢