Oracle 18.1 sql ошибка запроса - PullRequest
       7

Oracle 18.1 sql ошибка запроса

0 голосов
/ 29 августа 2018

У меня есть SQL-запрос

SELECT ("SL/VL".TOTAL_SICK_LEAVE - SUM(EMPLOYEE_INFO.DAYS_TAKEN_SICK))
  FROM EMPLOYEE_INFO
  INNER JOIN "SL/VL"
    ON EMPLOYEE_INFO.EMPLOYEE_NAME = "SL/VL".EMPLOYEE_NAME
  where contract_year='Year 1'and
        employee_info.EMPLOYEE_NAME = :P4_EMPLOYEE_NAME
  GROUP BY "SL/VL".TOTAL_SICK_LEAVE

, который дал мне желаемый результат, когда у меня был оракул апекс 5.1. Теперь я обновил свою базу данных до оракула 18.1 Я получаю "ORA-20999: Column name "("SL/VL".TOTAL_SICK_LEAVE-SUM(EMPLOYEE_INFO.DAYS_TAKEN_SICK))" is invalid for the LOV SQL query. Make sure that you use valid alias names for your columns."

1 Ответ

0 голосов
/ 29 августа 2018

Похоже, что 18.1 хочет псевдоним столбца в выражении ("SL/VL".TOTAL_SICK_LEAVE - SUM(EMPLOYEE_INFO.DAYS_TAKEN_SICK)). Возможно, если вы переделаете свой SQL как

SELECT (s.TOTAL_SICK_LEAVE - SUM(e.DAYS_TAKEN_SICK)) AS SICK_LEAVE_REMAINING
  FROM EMPLOYEE_INFO e
  INNER JOIN "SL/VL" s
    ON e.EMPLOYEE_NAME = s.EMPLOYEE_NAME
  WHERE CONTRACT_YEAR = 'Year 1' AND
        e.EMPLOYEE_NAME = :P4_EMPLOYEE_NAME
  GROUP BY s.TOTAL_SICK_LEAVE

база данных будет счастливее.

...