ora-00904 :"B"."TT_ROW_ID":无效的标识符 请专家帮忙看下,谢谢啦CREATE OR REPLACE VIEW V_WIRE_APPROVE AS
SELECT A.ROW_ID,
DECODE(A.NUM1, '0', '未审批', '1', '已审批', '2', '审批中', A.NUM1) CMCHECKFLG,
B.TYPENAME,
B.STEPNUM,
B.TIMELIMIT,
B.TRANSACTORID,
B.ISACCOUNT,
B.STR1 FROM HJBO_WIRE_INFO A, HJBO_WIRE_APPROVE B
WHERE A.ROW_ID = B.TT_ROW_ID
AND (STEPNUM = 1 OR EXISTS
(SELECT 1
FROM (SELECT ISACCOUNT, STEPNUM
FROM HJBO_WIRE_APPROVE
WHERE TT_ROW_ID = B.TT_ROW_ID) C
WHERE C.ISACCOUNT = '1'
AND C.STEPNUM = B.STEPNUM - 1))
AND A.STR2 = '1'
AND B.ISACCOUNT IS NULL;
SELECT A.ROW_ID,
DECODE(A.NUM1, '0', '未审批', '1', '已审批', '2', '审批中', A.NUM1) CMCHECKFLG,
B.TYPENAME,
B.STEPNUM,
B.TIMELIMIT,
B.TRANSACTORID,
B.ISACCOUNT,
B.STR1 FROM HJBO_WIRE_INFO A, HJBO_WIRE_APPROVE B
WHERE A.ROW_ID = B.TT_ROW_ID
AND (STEPNUM = 1 OR EXISTS
(SELECT 1
FROM (SELECT ISACCOUNT, STEPNUM
FROM HJBO_WIRE_APPROVE
WHERE TT_ROW_ID = B.TT_ROW_ID) C
WHERE C.ISACCOUNT = '1'
AND C.STEPNUM = B.STEPNUM - 1))
AND A.STR2 = '1'
AND B.ISACCOUNT IS NULL;
FROM (SELECT ISACCOUNT, STEPNUM
FROM HJBO_WIRE_APPROVE
WHERE TT_ROW_ID = B.TT_ROW_ID)
这块这样写就行:
(SELECT 1 FROM HJBO_WIRE_APPROVE
WHERE TT_ROW_ID = B.TT_ROW_ID)
另外再确认一下,表B里的确有TT_ROW_ID字段
CREATE OR REPLACE VIEW V_WIRE_APPROVE AS
SELECT A.ROW_ID,
DECODE(A.NUM1, '0', '未审批', '1', '已审批', '2', '审批中', A.NUM1) CMCHECKFLG,
B.TYPENAME,
B.STEPNUM,
B.TIMELIMIT,
B.TRANSACTORID,
B.ISACCOUNT,
B.STR1 FROM HJBO_WIRE_INFO A, HJBO_WIRE_APPROVE B
WHERE A.ROW_ID = B.TT_ROW_ID
AND (STEPNUM = 1 OR
EXISTS (SELECT 1
FROM HJBO_WIRE_APPROVE C
WHERE C.TT_ROW_ID = B.TT_ROW_ID
WHERE C.ISACCOUNT = '1'
AND C.STEPNUM = B.STEPNUM - 1)
)
AND A.STR2 = '1'
AND B.ISACCOUNT IS NULL;