2016-11-19 12 views
0

ステータスが「再注文時」である各顧客の注文数を照会する方法がわかりました。すべての顧客ではなく、ステータスが「再注文」である顧客をカウントしているため、達成したいことがあります。SQL照会多対多リレーションシップ数特定の条件数0なしの場合

私はサブクエリまたは結合でこれを達成する必要があると確信しています。どんな助けもありがとう。 FROM句の

SELECT custName, ordNum, COUNT(*) AS reorder_count 
FROM Orders, Customers 
WHERE Orders.custNum = Customers.custNum 
AND status = 'on reorder' 
GROUP BY orderNum, custName; 

答えて

1

決して使用カンマを:ここでは私がこれまで持っているものです。 常には、明示的なJOIN構文を使用します。それは正確で、現代的で、より強力です。

あなたはLEFT JOINをしたい:

とても役に立ちました
SELECT c.customerName, COUNT(o.orderNumber) AS reorder_count 
FROM Customers c LEFT JOIN 
    Orders o 
    ON o.customerNumber = c.customerNumber AND o.status = 'on reorder' 
GROUP BY c.customerName; 
+1

!私はいつも明示的なJOINを使うためにできることをします! – finiteloop

関連する問題