【发布时间】:2017-03-27 21:07:10
【问题描述】:
与相关查询作斗争,想知道是否有人可以分享一个更好的示例/说明如何创建“相关查询”。我确实了解内部/外部查询相互依赖,但仍然不相信我的解决方案是准确的,或者在编码它们时感觉非常确定,并考虑练习转换我正在努力关联的查询。这是工作查询的示例:
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;
感谢您的指导和建议。
【问题讨论】:
标签: sql-server tsql correlated-subquery