首页 > 其他 > 详细

使用union all查询时字段不匹配解决办法

时间:2014-07-23 21:20:27      阅读:558      评论:0      收藏:0      [点我收藏+]

小问题,可能新手碰到也会被书上的定义限定思维,一时反应不过来。


定义:

UNION 或UNION ALL 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。


场景:

当两个select的结果集个别字段有差别时需要UNION 或UNION ALL 合并。


解决办法:

某个结果集少字段可以用空值或固定值代替,使用别名达到列名一致要求。


 如 要合并student 和teacher 的结果,而teacher木有name这个列


select        name , age from student
union all
select ‘无‘ as name, age from teacher


注意:

可能会有类型不匹配现象,这时只需要用cast()做类型转换就可以了。



使用union all查询时字段不匹配解决办法

原文:http://viphyy.blog.51cto.com/6403455/1476326

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!