相関クエリを使用して闘争し、誰かがより良い例を共有できるかどうかを知りたい/説明「相関クエリ」を作成する方法私は内側/外側のクエリが互いに依存していることを理解していますが、私の解決策が正確であるとは思わないし、コーディング時には非常に確信しています。ここに作業クエリの例を示します。クエリを関連クエリに変換する方法
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
これを相関サブクエリに変えたい場合、これが解決策になります。ガイダンスとアドバイスをありがとう。
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;
ガイダンスとアドバイスをありがとう。
unitpriceとdiscountは何らかの理由でOPのOrderDetailsテーブルにあります。 – GurV
はい、そこにグループを置くのを忘れました。それが適切であるかどうかは、2番目のクエリがCorrelatedサブクエリを満たしているかどうか(もちろんグループを追加する)ですか?外部問合せからのproductidが内部問合せと一致し、結果が追加されますか? – allendks45
@ allendks45。 。 。私はあなたのコメントを理解していません。このバージョンは常にグループ化されています。 –