我做下面的查询,错误where子句PL/SQL查询选择从双
SELECT 'Payment Token,Transaction ID,Create Date'
FROM dual
UNION ALL
SELECT DISTINCT
pt.mw_payment_token ||','||
t.mw_transaction_id ||','||
t.create_date
FROM t_mw_payment_token pt,
t_mw_transaction t
where pt.mw_payment_token = t.mw_payment_token
order by t.mw_transaction_id;
错误是:
ORA-00904: "T"."MW_TRANSACTION_ID": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Error at Line: 5 Column: 103
为什么列mw_transaction_id
无效?
编辑:
t_mw_transaction表
ENABLECREATE TABLE WFMW.T_MW_TRANSACTION
(
MW_PAYMENT_TOKEN VARCHAR2(40 BYTE) NOT NULL,
CREATE_DATE DATE DEFAULT NULL,
MW_TRANSACTION_ID NUMBER NOT NULL,
TRANSACTION_TYPE NUMBER(*, 0),
CONSTRAINT XPK_T_MW_TRANSACTION PRIMARY KEY
(
MW_TRANSACTION_ID
)
ENABLE
)
mw_payment_token表
ENABLECREATE TABLE WFMW.T_MW_PAYMENT_TOKEN
(
MW_PAYMENT_TOKEN VARCHAR2(40 BYTE) NOT NULL
, CREATED_BY VARCHAR2(50 BYTE)
, MODIFIED_BY VARCHAR2(50 BYTE)
, CREATE_DATE DATE
, MODIFIED_DATE DATE
, TOKENIZED_PAN VARCHAR2(20 BYTE)
, CONSTRAINT XPKT_MW_PAYMENT_TOKEN PRIMARY KEY
(
MW_PAYMENT_TOKEN
)
ENABLE
)
你确定你想要选择'Paymend Token,Transaction ID,Create Date'而不是'Payment Token','Transaction ID','创建日期'和你的列是否一样?你的桌子怎么样? “t_me_transaction”真的是列名吗?也许有一些错字? – Armunin
你能描述一下t_mw_payment_token pt,t_mw_transaction表吗? – Parado
它看起来像你引用了一个别名“ut”(ut.create_date),但我没有看到它的表别名... – BWS