gpt4 book ai didi

SQL 子查询 - 对行中返回的每个 "ID"执行一个 select 语句

转载 作者:行者123 更新时间:2023-12-05 08:28:12 24 4
gpt4 key购买 nike

假设我有两个表,一个person 表和一个orders 表。 person 表包括一个personID 字段和一个name 字段,等等。 orders 表包含一个 orderID 字段等。我想返回有关一个或多个人的信息,但除此之外,我想使用 personID 查询其他信息,以在每一行中返回。例如:

personID    name    +    orderID
120 John 5000

我现在的查询如下:

SELECT p.personID, p.name
FROM person p
WHERE p.name = "John"

我想返回匹配该名称查询的人员列表,但对于每个结果,还使用 ​​personID 来查找两个日期之间的特定订单(一个订单),选中“事件”标志,等等,或者如果该订单不存在,则为 orderID 返回 null。

最佳答案

假设指定的在给定的日期和标志之间只有 1 个订单

SELECT p.personID, p.name, (Select OrderId From Orders o Where o.PersonId = p.personID and o.Date Between Value1 And Value2 And o.FlagColumn = 'Active') As OrderId
FROM Person p
WHERE p.name = "John"

您也可以为此JOIN

SELECT p.personID, p.name, o.OrderId
FROM Person p
JOIN Orders o On p.PersonId = o.PersonId
WHERE p.name = "John" And
o.Date Between Value1 And Value2 And
o.FlagColumn = 'Active'

关于SQL 子查询 - 对行中返回的每个 "ID"执行一个 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17812766/

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