Оракул мудрая сумма - PullRequest
       1

Оракул мудрая сумма

0 голосов
/ 17 октября 2018

Моя таблица Oracle Employee_Expense выглядит следующим образом.Красный текст - это то, что я ожидаю.

enter image description here

Мне просто нужно получить сумму расходов за эти четыре месяца, отсортированную по Emp_No и Year.

Есть идеи, пожалуйста?.

Ответы [ 2 ]

0 голосов
/ 17 октября 2018

Это плохой дизайн, месяцы не должны быть столбцами таблицы.

Для сценариев, где вам нужен сгенерированный столбец из других столбцов, вы можете добавить виртуальный столбец к таблице, т.е. для итога.Тогда вам не нужно явно писать дополнение каждый раз, когда вы запрашиваете, просто запросите столбцы, и Oracle сделает это за вас.

ALTER TABLE employee_expense ADD (
     total GENERATED ALWAYS AS ( january + february + march + april )
);

Просто запустите это, и вы получите значения для Total.

select * from employee_expense;
0 голосов
/ 17 октября 2018

Просто добавьте их и включите в ваш запрос;

SELECT   emp_no
       , year
       , january
       , february
       , march
       , april
       , (january + february + march + april) AS total
FROM     employee_expense
ORDER BY emp_no, year

Это должно быть сделано, если только вы не упомянули что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...