请教:SQL同一数据库中,两个查询结果数据类型不同时的union all 合并问题

请教:查询结果一:select 表1.字段1, 表1.字段2, 表1.字段3,from 表1 where。。。
查询结果二:select 表2.字段1, 表2.字段2, 表2.字段3,from 表2 where。。。
查询结果一中的类型全为varchar型,查询结果二中的类型:表2.字段1,其余为Numeric,
用union all怎样合并查询?

第1个回答  2012-06-11
select CAST(表2.字段1 AS VARCHAR(n), 表2.字段2, 表2.字段3,from 表2 where。。。

CAST(表2.字段1 AS VARCHAR(n) n的大小和表1.字段1的长度一致。追问

不好意思,写少了个字:
请教:查询结果一:select 表1.字段1, 表1.字段2, 表1.字段3,from 表1 where。。。
查询结果二:select 表2.字段1, 表2.字段2, 表2.字段3,from 表2 where。。。
查询结果一中的类型全为varchar型,查询结果二中的类型:表2.字段1为varchar型,其余表2.字段2/字段3为Numeric,
用union all怎样合并查询?

本回答被提问者和网友采纳
第2个回答  2012-06-11
union all不支持不同类型合并,尝试类型转化为相同的吧
第3个回答  2021-10-09
通过cast(表2.字段2 as varchar)转换表2.字段2为varchar格式
相似回答