oracle查询报错:ORA-01427

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle查询报错:ORA-01427相关的知识,希望对你有一定的参考价值。

select * from Work as p where p.pid=(select q.id from Pro as q where q.pid=(select q.id from q where q.fzr like '%"+fullname+"%'))

子查询返回的可能是多条记录。
1)
select q.id from q where q.fzr like '%"+fullname+"%'

2)
select q.id from Pro as q where q.pid=(select q.id from q where q.fzr like '%"+fullname+"%')

你先执行1)再执行2),看看哪个返回的是多条记录。

你可以改成
select * from Work as p where p.pid in (select q.id from Pro as q where q.pid in (select q.id from q where q.fzr like '%"+fullname+"%'))
参考技术A ORA-01427:单行子查询返回多个行

因此,你要再加过滤条件或者做做其他处理,直到子查询的返回结果为单条记录为止。还不明白可以再问我。希望对你有所帮助。

以上是关于oracle查询报错:ORA-01427的主要内容,如果未能解决你的问题,请参考以下文章

Oracle APEX 交互式报告中的错误 - ORA-01427:单行子查询返回多于一行

查询返回:ORA-01427 单行子查询返回多于一行

ORA-01427:单行子查询返回多个行

ORA-01427: 子查询返回多于一行

得到以下错误 ORA-01427: 单行子查询返回多于一行 01427. 00000 - “单行子查询返回多于一行”

内联视图中的 ORA-1427