在运行此SQL时,我会收到错误ORA-00918: column ambiguously defined
:(添加表ra_interface_lines_all
时(
SELECT DISTINCT rcta.TRX_NUMBER
, rcta.trx_date
, rcta.PRINTING_OPTION
, rcta.PRINTING_PENDING
, rcta.CREATED_FROM
, houf.NAME Business_Unit
, xep.NAME Legal_Entity
, rctta.NAME Transaction_Type
, rcta . invoice_currency_code
, aaa.gl_date
, rtb.NAME Payment_Name
, hca.account_name
FROM ra_customer_trx_all rcta
, hr_organization_units_f_tl houf
, xle_entity_profiles xep
, ra_terms_tl rtb
, RA_CUST_TRX_TYPES_ALL rctta
, hz_cust_accounts hca
, AR_ADJUSTMENTS_ALL aaa
, ra_interface_lines_all
WHERE trx_number = 3021
AND rcta.org_id = houf.organization_id
AND xep.legal_entity_id = rcta.legal_entity_id
AND rcta.SET_OF_BOOKS_ID = aaa.SET_OF_BOOKS_ID
当您具有具有相同列名称的倍数表时出现此错误,并且该列名在没有别名的语句中使用。因此,解释器无法确定应使用的桌子。
要修复查询,请检查所有无别名的列,然后将其前缀。(例如trx_number
(
ra_interface_lines_all
表具有trx_number
列,该列存在于其他表中,因此您必须将表名称(或别名(引用到列。
在您的情况下,如果是新表格,则可以更改为:
, ra_interface_lines_all
WHERE ra_interface_lines_all.trx_number = 3021