运行报错:查询块具有不正确的结果列数
来源:互联网 发布:网络售后服务包括 编辑:程序博客网 时间:2024/06/11 04:31
项目用到了oracle数据库。
项目部署到tomcat,启动服务器后, 运行报错:查询块具有不正确的结果列数。于是我将select语句复制到plsql中,以下是语句:
select a.*, get_hrmdeptname(a.departmentid) departmentname, get_hrmsubname(a.subcompanyid) subcompanyname, (SELECT b.entrydate from hrm_jobinfo where b.resourceid= a.id) entrydate, get_hrmworkname(a.workgroupid) workgroupname, get_jobtitle(a.jobtitle) jobtitlename, get_hrmname(a.managerid) managername from (select * from hrm_resource <span style="color:#CC0000;">union all</span> select * from hrm_resource_leave_h h where h.id not in (select id from hrm_resource)) a where a.status != ? and a.lastname like ? order by a.ordernum
结果还是“查询块具有不正确的结果列数”。在这里用到了union all。“UNION 操作符用于合并两个或多个 SELECT 语句的结果集”,union all 要求前后两个表中字段数必须相同,且对应类型相同,在这里hrm_resource_leave_h 少了2个字段,故用 null, null来补全,就是说正确的sql片段是这样的:
select * from hrm_resource union allselect <span style="color:#FF0000;">h.*, null, null</span> from hrm_resource_leave_h h where h.id not in (select id from hrm_resource)具体关于union和union all的区别和用法,请参考下面w3cschool的链接。
0 0
- 运行报错:查询块具有不正确的结果列数
- sql报错:查询块具有不正确的结果列数
- ORA-01789: 查询块具有不正确的结果列数
- ORA-01789: 查询块具有不正确的结果列数
- ORA-01789: 查询块具有不正确的结果列数
- Oracle:ORA-01789: 查询块具有不正确的结果列数
- sql查询结果的列数
- 获取SQL查询结果集中的行数和列数
- mysql 查询结果不正确
- java获取SQL查询结果集中的行数和列数
- java如何获取SQL查询结果集中的行数和列数
- java如何获取SQL查询结果集中的行数和列数
- java如何获取SQL查询结果集中的行数和列数
- ibatis 用HashMap解决Ibatis未知列名和列数的查询结果的resultClass映射
- 游戏运行时,WIN2003报错:设备 \Device\Harddisk0有一个不正确的区块。
- 一种解决运行程序报“应用程序配置不正确”的问题
- 一种解决运行程序报“应用程序配置不正确”的问题
- Nhibernate 查询无主键表或视图时,查询结果不正确的问题
- HTML学习笔记之CSS基础知识
- hdu 3944 lucas
- NOIp 2006 能量项链
- Hibernate-映射关系- 基于外键映射的1<->1映射
- 技术人生“白天求生存,晚上谋发展”
- 运行报错:查询块具有不正确的结果列数
- 判断一个数是不是2的幕
- 最小生成树
- iPhone屏幕投射到Mac的解决方案
- hiho 2 Trie树
- iOS Swift混编详解
- 五大常用算法详解—转
- 调试临时日志输出
- logback配置文件