gpt4 book ai didi

sql - 比较同一行的两列

转载 作者:行者123 更新时间:2023-12-02 01:12:56 24 4
gpt4 key购买 nike

我想显示所有Bottom-Dollar Markets下的订单之后的所有订单的OrderID

我使用了下面的查询

select 
Orders.OrderID
from
Orders
where
Orders.OrderDate > (
select
Orders.OrderDate
from
Orders
where
Orders.CustomerID = (
select
Customers.CustomerID
from
Customers
where
Customers.CompanyName='Bottom-Dollar Markets'
)
);

但它给出了错误subquery returened more than one value

我正在使用罗斯文数据库

最佳答案

您的两个子查询都可以返回多行,这在您使用标量比较操作时是不允许的 - >=,在您的情况下.

试试这个:

select Orders.OrderID
from Orders
where Orders.OrderDate > (
select max(Orders.OrderDate)
from Orders
where Orders.CustomerID in (
select Customers.CustomerID
from Customers
where Customers.CompanyName='Bottom-Dollar Markets'
)
);

您实际上不需要比较所有订单,因为如果客户的订单大于 Bottom-Dollar Markets 下的最新订单,那么它将遵循它也比以前的订单更大。

或者,这可以与 JOIN 一起使用:

select Orders.OrderID
from Orders
where Orders.OrderDate > (
select max(Orders.OrderDate)
from Orders join Customers on Orders.CustomerID = Customers.CustomerID
where Customers.CompanyName='Bottom-Dollar Markets'
);

关于sql - 比较同一行的两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15191695/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com