次のクエリを実行します。
SELECT c.CustomerID, c.AccountNumber, COUNT(*) AS CountOfOrders,
SUM(s.TotalDue) AS SumOfTotalDue
FROM Sales.Customer AS c
INNER JOIN Sales.SalesOrderheader AS s ON c.CustomerID = s.CustomerID
GROUP BY c.CustomerID, c.AccountNumber
ORDER BY c.CustomerID;
COUNT(*) が Sales.Customer の行をカウントすることを期待していましたが、驚いたことに、結合されたテーブルの行数をカウントします。
これはなぜですか?また、どのテーブル COUNT() を操作するかを明示的に指定する方法はありますか?