Ich bin neu bei Unterabfragen und die Korrelation versucht nun, ein Problem zu verstehen.Mögliche Korrelationsunterabfragen
Ich habe eine Abfrage:
SELECT Sales.SalesOrderHeader.CustomerID, SUM(Sales.SalesOrderDetail.LineTotal)
FROM Sales.SalesOrderDetail
INNER JOIN Sales.SalesOrderHeader
ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderID
GROUP BY Sales.SalesOrderHeader.CustomerID;
Ich versuche, die Abfrage mit Unterabfrage Korrelation neu zu schreiben:
SELECT Sales.SalesOrderHeader.CustomerID,
(SELECT SUM(Sales.SalesOrderDetail.LineTotal)
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderDetail.SalesOrderID)
FROM Sales.SalesOrderHeader
GROUP BY Sales.SalesOrderHeader.CustomerID;
Ich habe folgende Fehler und ich verstehe nicht, was ich brauche, um fix:
Unterabfrage gab mehr als 1 Wert zurück. Dies ist nicht erlaubt, wenn die Unterabfrage folgt =,! =, <, < =,>,> = oder wenn die Unterabfrage als ein Ausdruck verwendet wird.
Auch wird es gut sein, wenn verschiedene Optionen Korrelation mit der ursprünglichen Abfrage vorschlagen. Haben Sie einen guten Tag.
Es wurde 31465 Zeilen 19119 statt. –
Bei Interesse können Sie die Datenbank hier herunterladen. https://msftdbprodsamples.codeplex.com/downloads/get/880661 –
31349 Zeilen erhalten. –