gpt4 book ai didi

sql - 是否可以从子查询中获取多个值?

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

有没有办法让子查询在oracle db中返回多列? (我知道这个特定的sql会导致错误,但它很好地总结了我想要的)

select
a.x,
( select b.y, b.z from b where b.v = a.v),
from a

我想要这样的结果:

a.x | b.y | b.z
---------------
1 | 2 | 3

我知道可以通过连接解决这个问题,但这不是我所要求的。

我的问题很简单,是否有任何方法可以从子查询中获取两个或多个值?也许有一些使用双的解决方法?这样就没有实际的连接,而是为每行一个新的子查询?

编辑:这是一个原则问题。我知道,您可以使用 join 解决所有这些问题。您根本不需要这样的子查询(甚至不需要一列)。但他们就在那里。那么我可以以这种方式使用它们还是根本不可能?

最佳答案

Select 子句中的子查询(如您的情况)也称为标量子查询,这意味着它是一种表达式形式。这意味着它只能返回一个值。

恐怕您无法从单个标量子查询返回多个列,不。

以下是有关 Oracle 标量子查询的更多信息:

http://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions010.htm#i1033549

关于sql - 是否可以从子查询中获取多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12472792/

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