Struggle mit korrelierten Abfragen und wollte wissen, ob jemand könnte ein besseres Beispiel/Erklärung, wie eine 'korrelierte Abfrage erstellen. Ich verstehe, dass die inneren/äußeren Anfragen voneinander abhängig sind, aber immer noch nicht glauben, dass meine Lösung korrekt ist oder ich fühle mich sehr sicher, wenn ich sie kodiere und daran denke, konvertierende Abfragen zu üben. Hier ist beispielsweise der Arbeits query:Wie man Abfrage in korrelierte Abfrage konvertiert
SELECT p.productid, p.productname, SUM(od.unitprice - od.discount) * od.qty
AS total_amount
FROM Production.Products AS p
JOIN Sales.OrderDetails AS od
ON p.productid = od.productid
JOIN Sales.Orders AS o
ON od.orderid = o.orderid
WHERE o.shipcountry = 'USA';
--EDITED--Converted to Correlated Query
Also, wenn ich wollte diese in einer korrelierten Unterabfrage drehen sollte dies die Lösung sein. Danke für die Anleitung und den Rat.
SELECT productid, productname
FROM Production.Products AS t1
WHERE productid = (SELECT SUM(od.unitprice - od.discount) * od.qty AS
total_amount
FROM Sales.OrderDetails AS od
JOIN Sales.Orders AS o
ON od.orderid = o.orderid
JOIN Production.Products AS t2
ON t2.productid = t1.productid
WHERE o.shipcountry = 'USA')
GROUP BY productid, productname;
Danke für die Anleitung und Beratung.
Stückpreis und Rabatt sind in OrderDetails Tabelle für OP aus irgendeinem Grund – GurV
ja, habe vergessen, die Gruppe von dort setzen. Ob es angemessen ist oder nicht, trifft die zweite Abfrage korrelierte Unterabfrage (Hinzufügen der Gruppe natürlich)? Die Produkt-ID aus der äußeren Abfrage stimmt mit der inneren Abfrage überein, und das Ergebnis wird hinzugefügt? – allendks45
@ allenks45. . . Ich verstehe deinen Kommentar nicht. Diese Version hatte immer eine "Gruppe von". –