Ich bin mir nicht sicher, warum das nicht funktioniert.SQL: Zählwerte in einer Tabelle basierend auf WHERE von anderen Tabelle
Ich habe zwei einfache Tabellen:
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%
ich berechnen will, wie viele Kunden nicht Aufträge abgeschlossen hat, wo Order_completed in der Tabelle Customers weniger als Completion_needed in der Tabelle Bestellungen (bitte nicht, dass ein Kunde haben mehr als eine Auftragsart).
Dies ist meine Frage, aber ich habe das falsche Ergebnis:
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
I 1 erhalten; aber ich sollte die Anzahl von 2 bekommen.
was meinst du mit nicht abgeschlossene Bestellung hier? –
Sind das die echten Tabellen? Ich sehe keine CustomerID in der ersten, wie funktioniert der Join? – dman2306
@ dman2306 Sorry, ich vermisse eingegeben, wenn ich es vereinfacht, sollte es auf OrderTypeID – jeangelj