博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ORA-01427single-row subquery returns more than one
阅读量:7060 次
发布时间:2019-06-28

本文共 1116 字,大约阅读时间需要 3 分钟。

今天改bug遇到了一个错误,如题.是别人改了我的sql,没经过严格的测试,后来发现改坏了.出错的语句如下 :
select	    g.id, g.account_id, g.account_relationship_id            , (select le.DISPLAY_NAME               from g, lov_element le               where g.GRIEVANCE_TYPE = le.VALUE               and le.LOV_NAME = 'GRIEVANCE_TYPE') grievance_type            , g.requestor_name, g.continue_coverage_flag            , g.comments, g.creation_date, g.approved_flag,             p.first_name,p.id		from             account_relationship ar,g, person p ,account a
产生这个错误是由于子查询中的结果如果 返回结果有两个以上,就会导致oracle抛出这个错,因为查询条件不能支持多个查询参数.可以做如下修改:
select	g.id, g.account_id, g.account_relationship_id            , nvl(lov_list1.DISPLAY_NAME, ' ') as grievance_type            , g.requestor_name, g.continue_coverage_flag            , g.comments, g.creation_date, g.approved_flag, p.first_name, p.middle_initial, p.last_name, p.party_id		from			account_relationship ar,g, person p ,account a,      (SELECT l.lov_name,l.display_name,l.value,enabled from lov_list l where (lov_name='GRIEVANCE_TYPE' and enabled='T')) lov_list1
要点是通过在where条件中加入需要查询的结果子集来将数据库中保存的value替换成页面上显示的display name

转载地址:http://okbll.baihongyu.com/

你可能感兴趣的文章
n年前,我没钱但年轻,我怕n年后我老时,还是一无所成——2017我的收获和反思...
查看>>
CentOS 7.X 系统安装及优化
查看>>
js比较数字相等
查看>>
2017秋 FZU SDN 课程作业汇总
查看>>
数据库的基本操作
查看>>
[C语言] 数据结构-预备知识动态内存分配
查看>>
Linux下使用SSH远程执行命令方法收集
查看>>
Jython:java调用python文件之第三方包路径问题
查看>>
TestFlight 测试
查看>>
LiveSwitch白皮书
查看>>
如何实现网卡bond
查看>>
[React] Integration test a React component that consumes a Render Prop
查看>>
常用排序算法(四)希尔排序
查看>>
洛谷P2939 [USACO09FEB]改造路Revamping Trails(最短路)
查看>>
mysql查看binlog日志
查看>>
【C#/WPF】Bitmap、BitmapImage、ImageSource 、byte[]转换问题
查看>>
linq.js的用法
查看>>
原生js如何实现图片翻转旋转效果?
查看>>
sendfile:Linux中的"零拷贝"
查看>>
iOS企业包安装注意事项详解(解决提示iPhone未受信任的问题)
查看>>