1

我对SELECT以下陈述有疑问:

SELECT SO FROM ORDERS 
UNION ALL 
SELECT SO FROM QUOTES

当我运行查询时,我得到了错误Fields must have same data types。我了解字段之间存在数据冲突SO。在Orders表中它是,NVARCHAR2(50)Quotes表是由Integer数据类型组成的。是否有任何解决方法可以SO在不更改字段数据类型的情况下与上述语句中所示的字段进行联合SO

非常感谢这里的任何帮助。

4

1 回答 1

3

就像下面显示的查询一样

select 1 from dual    --integer datatype
union all
select '1' from dual  --varchar2 datatype

为了使这项工作,您需要将 INTEGER DATATYPE 更改为 VARCHAR

select to_char(1) from dual  --change the datatype to CHAR in Quotes table 
union all
select '1' from dual         -- this remain unchanged

您的最终查询将像

SELECT SO FROM ORDERS
UNION ALL
SELECT TO_CHAR(SO) FROM QUOTES
于 2013-05-23T11:52:09.447 回答