0
如果我运行的是工资单报表,我拥有普通员工,其工资分为两个不同的部门。因此,基本上,一名员工的薪资费用将按我的报告分摊50%,因为我不计算其他50%(这些工资费用计入其他部门)Postgresql在同一列中的值分配
但是,导演监督(例如)8因此报告中她的薪酬成本分摊12.5%。
对于报告,我增加了员工50%的成本,但我不知道如何在同一列中添加董事12.5%的成本。我的代码是这样的,但我想了解如何调整它让我得到我所需要的:
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 "Salaries Shared with Accounting"
from "Transactions"
group by 1
order by min("Date");
正如你所看到的,这将返回50%工资的每一个员工,但我无法输出E001,E002,E003,E004的50%,E999的12.5%。
谢谢。错误:列“Transactions.Type”必须出现在GROUP BY子句中或用于聚合函数中 LINE 3:当在“E001”,“E002 ','E003','E004')然后是0.5 * ... ^ **********错误********** 错误:列“Transactions.Type “必须出现在GROUP BY子句中或用于聚合函数中 SQL状态:42803 字符:55 – Piechartking
您好,在原始查询中没有分组,因此我认为您不需要帮助。在原始查询中应用相同的group by子句必须修复您遇到的错误。 – Nick
我会尽力,谢谢。 – Piechartking