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