Lutter avec des requêtes corrélées et voulu savoir si quelqu'un pourrait partager un meilleur exemple/explication comment créer une «requête corrélée». Je comprends que les requêtes internes/externes sont dépendantes les unes des autres mais ne croient toujours pas que ma solution est exacte ou se sentent très sûrs lors de leur codage et pensent à pratiquer la conversion des requêtes que j'ai travaillées à corréler. Voici exemple de requête de travail:Comment faire pour convertir la requête à la requête corrélée
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
Donc, si je voulais en faire un sous-requête corrélative cela devrait être la solution. Merci pour les conseils et les conseils.
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;
Merci pour les conseils et les conseils.
prix unitaire et une remise sont dans la table OrderDetails pour OP pour une raison – GurV
oui, j'ai oublié de mettre le groupe par là. Est-ce que la deuxième requête répondrait ou non à la sous-requête Correlated (en ajoutant le groupe bien sûr)? Le produit de la requête externe correspond à la requête interne et le résultat est ajouté? – allendks45
@ allendks45. . . Je ne comprends pas votre commentaire. Cette version a toujours eu un «groupe par». –