gpt4 book ai didi

sql - 如果为 : ORA-01427: single-row subquery returns more than one row,则重复行

转载 作者:行者123 更新时间:2023-12-04 04:54:33 29 4
gpt4 key购买 nike

我得到了这三个表 s、a 和 p。 a 和 s 是 1:1 的关系。但是 a 到 p 有 1:x 的关系。
我当前的查询仅针对 1:0 或 1:1 关系构建。
目前我得到:“ORA-01427:单行子查询返回多于一行。”如果一个activity_no有多个resource_id

那么我如何重做我的查询,如果一个activity_id有两个或更多resource_id,我想根据activity_no有多少resource_id复制所选行两次或更多次?

我一直在看:Oracle, insert multirows from subquery with more than one row但它不起作用。

    select s.sub_project_id,  
a.activity_no,
(select p.resource_id
from p
where p.project_id = 'PROPSTOT'
and p.activity_seq = a.activity_seq,
from s,
a
where s.sub_project_id = a.sub_project_id
and s.project_id = 'PROPSTOT'
and a.project_id = 'PROPSTOT'

最佳答案

我不清楚你到底想做什么,但从你的描述来看,你只是想要加入:

select s.sub_project_id,  
a.activity_no,
p.resource_id
from s
join a on s.sub_project_id = a.sub_project_id and a.project_id = s.project_id
left outer join p on p.activity_seq = a.activity_seq
where s.project_id = 'PROPSTOT'

关于sql - 如果为 : ORA-01427: single-row subquery returns more than one row,则重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16937393/

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