Frage: Wie heißen die einzelnen Kunden, wie viele Bestellungen haben sie aufgegeben und wie viele Pizzas haben sie bestellt? HierAggregierte SQL-Abfrage
ist, was ich habe:
SELECT DISTINCT FirstName, LastName, Count(Orders.ID) AS NumberOfOrders, Count(Pizza.ID) AS NumberOfPizzas
FROM ((Customer LEFT OUTER JOIN Orders ON Customer.ID = Orders.CustomerID) LEFT OUTER JOIN Pizza ON Orders.ID = Pizza.OrderID) GROUP BY Customer.ID;
Dies ist, was er druckt:
Die Anzahl der Aufträge falsch ist, sollte es 1-0 -2-1.
Wenn ich von "Orders.ID = Pizza.OrderID" zu "Pizza.OrderID = Orders.ID" umschalte, wird die Anzahl der Bestellungen für beide Spalten anstelle der Anzahl der Pizzen für beide Spalten ausgegeben.
Wie kann ich das beheben?
Bitte keine Bilder verwenden; kopiere das Material in die Frage und formatiere es als "Code". Kopieren Sie das Material in die Frage und ignorieren Sie die Vorschau. Stellen Sie sicher, dass es korrekt aussieht und keine Registerkarten enthält. Wählen Sie es aus und ziehen Sie es mit der ** '{}' ** - Schaltfläche über dem Bearbeitungsfeld ein. Sehen Sie sich nun die Vorschau an und prüfen Sie, ob sie noch in Ordnung ist. Wenn Sie möchten, können Sie vor den Beispielen eine nicht eingerückte Zeile hinzufügen, die '' enthält. Ihre Screenshots sind fast unleserlich - zumindest für die Augen von Antiquitäten wie mir. –