1
我正在運行工資報告,但無法查詢並返回我需要的結果。在報告中,有兩列,表看起來是這樣的:Postgres在同一列中的值分配
Date | Costs
2014 | 100000
2015 | 150000
但訣竅是,有兩種類型的僱員,其成本被加入到費用列。一種員工是「正常」,他們的員工編號遵循「E00,E002,E003等」的模式。
第二種是經理。他們的員工編號如「E99 .. 「,所以」E990,E991等
爲查詢和返回成本列的數據,我目前回到我查詢的員工成本的100%。但是,我想查詢並僅返回50%的E00類型員工以添加到成本列中,並且只返回12.5%的E99類型員工以添加到成本列中。
通過這種方式,費用列將由增加E00員工成本的50%和增加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對不起,忘了FROM子句。現在修正。 – Alexandros
是啊,偉大的作品!謝謝! – Piechartking