これはなぜ動作していないのかわかりません。SQL:他のテーブルのWHEREに基づいて1つのテーブルのカウント値
私は2つの単純なテーブルがあります。
Orders
OrderTypeID EmployeeID Completion_needed
10308 72 15%
10309 73 20%
10310 74 30%
Customers
Customer ID OrderTypeID OrderDate Order_completed
1 10308 2015-09-18 5%
2 10309 2015-09-19 30%
3 10310 2017-09-20 25%
4 10308 2015-09-18 17%
2 10308 2015-09-19 20%
3 10309 2017-09-20 7%
私は非注文を完了しているどのように多くの顧客を計算したい、CustomersテーブルのOrder_completedは(してくださいではないお客様ができることをOrdersテーブル内Completion_needed未満であります複数の注文タイプがあります)。
これは私のクエリですが、私は間違って結果を得る:私は1を取得
SELECT COUNT(c.CustomerID) as count_employees
FROM Orders od
JOIN Customers c
ON od.OrderTypeID = c.OrderTypeID
WHERE od.Completion_needed > c.Order_completed
を。しかし、私は2のカウントを取得する必要があります。
ここで完成していない注文がどういう意味ですか? –
それらは本当のテーブルですか?最初にCustomerIDが表示されないので、結合はどのように機能しますか? – dman2306
@ dman2306申し訳ありませんが、簡略化したときに入力が間に合わなかったので、OrderTypeIDに結合する必要があります – jeangelj