Как разделить данные в Oracle по годам - PullRequest
0 голосов
/ 11 июля 2019
select PAY_COMP_AMT,EMPLOYEE_HKEY,trunc(sysdate, 'YEAR') begin_year
     , add_months(trunc(Active_To_Date, 'YEAR'), 12)-12/31/60/60 last_second_year
from table_name;

Приведенный выше запрос задает текущий год и второй в прошлом году. На самом деле я хочу отобразить строки по годам.

Любые предложения будут полезны!

1 Ответ

0 голосов
/ 11 июля 2019

Полагаю, вы хотите отобразить только часть года столбца даты.

Итак, используйте to_char(Active_To_Date,'yyyy'), и удалите деталь с помощью функции add_months(), и, реализовав агрегирование по Employee и Year, например sum, вы можете отображать данные за каждый год наотдельные строки:

select Employee_Hkey, to_char(Active_To_Date,'yyyy') as "Year",
       sum(nvl(Pay_Comp_Amt,0)) as Pay_Comp_Amt
  from table_name
 group by to_char(Active_To_Date,'yyyy'),Employee_Hkey
 order by "Year",Employee_Hkey;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...