與相關查詢拼搏,並想知道是否有人可以分享更好的示例/說明如何創建「相關查詢」。我理解內部/外部查詢是相互依賴的,但仍然不相信我的解決方案是準確的,或者在編碼它們時感覺非常確定,並且認爲我正在努力實現相關的轉換查詢。下面是例子工作查詢:如何將查詢轉換爲相關查詢
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;
感謝您的指導和建議。
單位價格和折扣都在OP的OrderDetails表中,因爲某種原因 – GurV
是的,忘了把Group By放在那裏。第二個查詢是否符合相關的子查詢(當然是添加組)?來自外部查詢的productid與內部查詢匹配並且結果被添加? – allendks45
@ allendks45。 。 。我不明白你的評論。這個版本一直有'group by'。 –