gpt4 book ai didi

sql - 访问子子查询 SQL 中的字段

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

我有一个相当复杂的查询,其中我正在处理多个嵌套的查询层。该查询的要求之一是我从主查询中的子查询的子查询访问字段。但是,由于中间查询中的聚合,我无法在该查询中包含该字段。

例如。

select a, d.x, f.v?
from b
join (select a, max(z), min(z), Count(y) as x
from c
join (select a, Count(t) as v
from e
) f
on f.a = c.a
Group By a
Having min(z) <> max(z)
) d
on d.a = b.a

这可能吗?

最佳答案

没有。

试试这个。基本上,在层次结构中获取所需的属性(如果需要,可以重命名它们),然后使用它们。

Select a, d.fa From b
join (select a,f.a fa from c
join (select a from e) f on f.a = c.a
) d on d.a = b.a

我还没有测试表。如果您发现更多问题,请在此处发布。

* 根据更新的问题进行编辑*

即使在这里,逻辑仍然相同,您必须使用...

select a, d.x, d.v?
from b
join (select a, f.v, max(z), min(z), Count(y) as x
from c
join (select a, v
from e
) f
on f.a = c.a
Group By a, f.v
Having min(z) <> max(z)
) d
on d.a = b.a

或者,如果您的数据库支持标量子查询,您可以使用以下方式获取最终外部查询的值:

select a, d.x, (select v from e where e.a = b.a) f_v
from b
join (select a, max(z), min(z), Count(y) as x
from c
join (select a, v
from e
) f
on f.a = c.a
Group By a
Having min(z) <> max(z)
) d
on d.a = b.a

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

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