sql - MS SQL 子查询

标签 sql sql-server subquery database-indexes

我是这方面的初学者,但我尝试选择或创建一个子查询,该子查询将返 repo 买的商品比(表中)购买的商品更贵的商品的客户。

我创建的 select 语句/子查询实际上返回表中除该商品之外的所有数据,甚至价格低于该商品,即使我指定的价格大于该商品。我的子查询似乎有什么问题?

最佳答案

似乎您可以使用如下所示的子查询。我假设如果 Badang 购买了多件元素,您会希望购买的金额大于其最高购买值(value):

SELECT C.Cust_Name,
       I.ItemName,
       I.Price
FROM dbo.Customers C
     JOIN dbo.Orders O ON  C.CustomerID = O.CustomerID
     JOIN dbo.Items I ON O.ItemID = I.ItemID
WHERE I.Price > (SELECT MAX(Isq.Price)
                 FROM dbo.Customers Csq
                      JOIN dbo.Orders Osq ON Csq.CustomerID = Osq.CustomerID
                      JOIN dbo.Items Isq ON Osq.ItemID = Isq.ItemID
                 WHERE Csq.Cust_Name = 'Badang');

关于sql - MS SQL 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69540266/

相关文章:

多列中多个值的 SQL CASE WHEN

javascript - 如果表有行,则在 angularjs 中显示表

sql-server - Sql server management studio : Load last used windows

mysql - 如何使用 row_number、lag/lead、join SQL 解决问题

MySQL where subselect on multiple fields

sql - 如何检索表中两个特定列中的值不同的所有行

mysql - 无法找出正确的 SQL 语句

mysql - 如何使这个复杂的查询运行得更快?

sql - Where 子句中的 ANDS 顺序以获得最佳性能

objective-c - NSPredicate 与 AND 在一对多关系中