最近在项目迭代过程中发现了一个久到不可追溯的bug。
检查SQL后发现该次查询使用了UNION拼接两个select语句,但是次语句的字段顺序与主语句不一致。
此问题导致了虽然两次select中的字段数量和名称完全一致(两个select的区别为 次select语句中有两个字段的位置写反,导致字段顺序与主select不一致)
导致的问题就是使用UNION拼接这两个语句时,次表的select这两个字段映射反了。
在SQL中使用UNION一定要注意次select语句的字段顺序必须和主select完全一致,如果次语句的字段多于主语句,那么主语句的相应位置则应当使用 null as xxx 代替。
使用Union拼接两次Select查询注意事项
最新推荐文章于 2022-08-10 14:11:24 发布