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


问题情境之一的模拟:

SELECT A.SNAME, B.SCORE, (SELECT C.TEL FROM TAB_C C WHERE C.NO = A.NO) TEL
  FROM TAB_A A, TAB_B B
 WHERE A.ID = B.ID

执行脚本,报错:ORA-01427 单行子查询返回多个行 

原因:查询时,要确保每个子查询只能返回一条数据,

注意:

  1.针对这种情况,当表A,C关联时,尽可能将所有的关联条件都写上;

  2.当报错的子查询有重复数据时,尝试用distinct、max()、分析函数(over()等)等去重

ORA-01427: 单行子查询返回多个行-十字螺丝钉-ChinaUnix博客  http://blog.chinaunix.net/uid-23284114-id-3466252.html

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM