ORA-01790:表达式必须具有与相应表达式错误消息相同的数据类型。下面是我正在使用的sql。我真的找不到导致错误的原因,请帮助。
select distinct *
from
( select
h.billingaddress,
h.sold_to,
'' as trx_number,
'' as bs_number,
apd.transaction_number
-- apd.transaction_number
from
amti_so_headers2 h
inner join
amti_print_document apd
on
h.header_id = apd.header_id
where
apd.transaction_number in ('9535','')
and
(
report_type = 'Billing Statement'
or
report_type = 'Sales Invoice'
)
UNION
select
billingaddress,
bill_to sold_to,
amti_trx_header.trx_number,
amti_trx_header.bs_number,
'' transaction_number
from
amti_trx_header
where
trx_number in ('','')
or
bs_number in ('9535','')
);发布于 2018-03-02 03:11:04
您的一个列在UNION查询之间有不同的数据类型。如果我不得不猜的话,我想是'' transaction_number引起了这个问题,因为这个名字意味着它是一个数字,但是你已经把它写成了文本。
https://stackoverflow.com/questions/49062206
复制相似问题