2015-10-01 15 views
0

我需要在Oracle過程取得與最新的最新數據如何讓Oracle過程從表中最新的日期

  BEGIN 
       SELECT NVL(MONTHLY_SAL, 0) 
        INTO v_emp_salary 
        FROM EMP_SALARY 
       WHERE EMPNO = file_row(k).EMPNO 
       AND LATEST DATE = file_row(k).MODDATE; 
      EXCEPTION WHEN NO_DATA_FOUND THEN 
        v_emp_salary := 0; 
      END; 

這裏EMP_SALARY可能有2個或更多的行,我需要在EMP_SALARY最新日期比較創建ModDate

回答

2

您是否嘗試過使用MAX()?

select * from oehr_employees WHERE HIRE_DATE = (SELECT MAX(HIRE_DATE) FROM OEHR_EMPLOYEES) 

OUTPUT:

EMPLOYEE_ID FIRST_NAME   LAST_NAME     EMAIL      PHONE_NUMBER   HIRE_DATE JOB_ID   SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID 

167 Amit Banda ABANDA 011.44.1346.729268 21-APR-00 SA_REP 6200 0.1 147 80 
173 Sundita Kumar SKUMAR 011.44.1343.329268 21-APR-00 SA_REP 6100 0.1 148 80 
相關問題