关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因
来源:互联网 发布:app软件制作 编辑:程序博客网 时间:2024/05/21 12:49
1、 对于该问题确实存在UNION前后SELECT语句中的列数不同导致;
2、 以下为个人遇到的一种可能:
在项目开发中由于有张表是动态的,即有个基础表,其他的表按年月根据基础表来生成动态表,动态表结构和基础表保持一致。从动态表和基础表中同时查询数据,且根据各自的条件进行查询并将结果合并返回时,出现了“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误,sql语句大致如下:
SELECT * FROM test WHERE id >= ‘’ UNION SELECT * FROM test_201501 WHERE id>=’’;
将该sql语句直接在数据库执行,没有出现任何错误,但是在Java代码中使用SQLQuery时出现了该错误,对该问题感觉很纳闷,于是将Java中执行的sql拿出来在数据库中执行还是没有发现问题,但Java中执行该问题依旧存在,由于对合并后的结果还需要根据某字段进行排序操作,于是就自己不断调试,最终sql如下:
SELECT * FROM
(
SELECT * FROM test WHERE id >= ‘’ UNION SELECT * FROM test_201501 WHERE id>=’’
) t ORDER BY ID DESC;
把Java中执行的sql改成以上结果时,该问题得以修复。
说明:UNION后的结果集也可以看做一张临时表,然后从该表中查询数据即可,注意,其中红色的t代表该临时表的表名。
2、 以下为个人遇到的一种可能:
在项目开发中由于有张表是动态的,即有个基础表,其他的表按年月根据基础表来生成动态表,动态表结构和基础表保持一致。从动态表和基础表中同时查询数据,且根据各自的条件进行查询并将结果合并返回时,出现了“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误,sql语句大致如下:
SELECT * FROM test WHERE id >= ‘’ UNION SELECT * FROM test_201501 WHERE id>=’’;
将该sql语句直接在数据库执行,没有出现任何错误,但是在Java代码中使用SQLQuery时出现了该错误,对该问题感觉很纳闷,于是将Java中执行的sql拿出来在数据库中执行还是没有发现问题,但Java中执行该问题依旧存在,由于对合并后的结果还需要根据某字段进行排序操作,于是就自己不断调试,最终sql如下:
SELECT * FROM
(
SELECT * FROM test WHERE id >= ‘’ UNION SELECT * FROM test_201501 WHERE id>=’’
) t ORDER BY ID DESC;
把Java中执行的sql改成以上结果时,该问题得以修复。
说明:UNION后的结果集也可以看做一张临时表,然后从该表中查询数据即可,注意,其中红色的t代表该临时表的表名。
0 0
- 关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因
- 关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因
- linq中union错误:必须在其目标列表中有相同数目表达式(转)
- SQL中Union,Intersect,Except的区别
- 关于SQL2000的交并差(Intersect、Union、Except)命令说明
- 常用SQL查询语句 Oracle中Union,Union All,Intersect,Minus的有什么区别
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- 获取两个DataTable之间的差集、交集、并集集合(Except、Intersect、Union)
- SQLSERVER数据集合的交、并、差集运算(intersect,union,except)
- SQLSERVER数据集合的交、并、差集运算(intersect,union,except)
- 请在下面的代码片段中找出可能有错误或有安全隐患的地方,并写出错误的原因。
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- SQL Server 中关于EXCEPT和INTERSECT的用法
- 运用JavaMail技术实现云打印
- C++ STL中的哈希表 hash_map
- Hibernate注解方法使用总结
- 你会写软件开发文档吗?
- 原来百度手环开源了
- 关于出现“使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式”错误的可能原因
- 【转自tonywearme】我为什么要为纯虚函数写出实现
- 一些近期需要攻克的事情
- 学习 BroadcastReceiver
- 散列表_HashTable.c
- EPOLL在ET和LT下的读写
- C# LINQ查询
- 黑马程序员--Java之IO(输入输出)(上)03
- 常用排序算法