У меня работает отчет о зарплате, но у меня возникают проблемы с запросом и возвратом результатов, которые мне нужны. В докладе, есть два столбца, и таблица выглядит следующим образом:Postgres Значения Ассигнования в той же колонке
Date | Costs
2014 | 100000
2015 | 150000
Однако хитрость заключается в том, что есть два вида сотрудников, чьи расходы будут добавлены в колонку Затраты. Один вид сотрудника - «нормальный», а номера его сотрудников следуют шаблону «E00 ...», например «E001, E002, E003 и т. Д.
Второй вид - менеджер. Их номера сотрудников похожи на« E99 .. » . ", поэтому" E990, E991 и т. д.
Для запроса и возврата данных для столбца Costs в настоящее время я возвращаю 100% затрат сотрудника на мой запрос. Тем не менее, я хотел бы запросить и вернуть 50% сотрудников E00-типа для добавления в столбец «Стоимость» и вернуть 12,5% сотрудников E99-типа для добавления в столбец затрат.
Таким образом, столбец «Стоимость» будет состоять из добавления 50% сотрудников «Стоимость E00» и от добавления 12,5% от стоимости сотрудников E99.
Ниже мой запрос, но я не могу получить его, чтобы вернуть все:
select
to_char("Date", 'YYYY') as "Date",
case
when "Type" in ('E001', 'E002', 'E003', 'E004') then 0.5 * sum ("Amount") filter (where "Type" in ('E001', 'E002', 'E003', 'E004'))
when "Type" like 'E9%' then 0.125 * sum("Amount") filter (where "Type" like 'E9%')
end as "Costs"
from "Transactions"
group by 1
order by min("Date");
Если моя таблица является «Сделкой», где я могу поставить от «Сделок? – Piechartking
@Piechartking К сожалению, забыл ЕК. Исправлен. – Alexandros
Да. Прекрасно работает! Спасибо! – Piechartking