SQL中union all的使用

两个表中有一列数据的数据类型是一样的,都是数字类型,但是列名不同
但是用union all语句还是显示出现表达式必须具有与相对应表达式相同的数据类型
怎么才能让他们能够关联起来使用呢

列名不同没有关系,数据类型相同就行。
保持列名一致的话,你可以通过取别名的方式来保证多张表列名相同。

select cast(a.table1 as varchar) as tab from a
union all
select cast(b.table2 as varchar) as tab from b

确保2个查询语句的字段名称一致,相同列的数据类型一致,如果名称不相同,可以使用别名。

与列名没关系,如果提示 "表达式必须具有与相对应表达式相同的数据类型",那么肯定就是出现了类型不同的情况,请贴出你的表结构和完整sql看看

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632