这种SQL 容易出现未明确定义列的情况,因为3个realname,正确的做法应该是
SELECT * FROM (SELECT TMP.*, ROWNUM ROW_ID FROM (SELECT T.ID, T.APPLY_PER, T.APPLY_BEGIN_TIME, T.APPLY_STATUS, T.APPROVE_PER, T.APPROVE_TIME, T.TAKE_DOWN_PER, T.TAKE_DOWN_TIME, T.SEAL_PER, T.SEAL_TIME, U.REALNAME AS "U.realname", AUS.REALNAME AS "AUS.realname", TU.REALNAME AS "tu.realname", SU.REALNAME AS "su.realname" FROM SPV_VOUCHER_BORROW_APPLY T LEFT JOIN SYS_USER U ON T.APPLY_PER = U.ID LEFT JOIN SYS_USER AUS ON T.APPROVE_PER = AUS.ID LEFT JOIN SYS_USER TU ON T.APPROVE_PER = TU.ID LEFT JOIN SYS_USER SU ON T.APPROVE_PER = SU.ID ORDER BY T.APPLY_BEGIN_TIME DESC, T.ID ASC, T.ID ASC) TMP WHERE ROWNUM <= 10) WHERE ROW_ID > 0给3个同名列定义不同名字