我在添加專欄到年初至今的銷售(從2017年1月1日到最後一個週日通過)時遇到困難。我製作了兩欄,爲員工提供每週銷售情況(每週星期結束,這就是我使用date_trunc函數的原因,因此不需要每週更改日期)。我使用coalesce的原因是由於不是每週都有員工進行銷售,所以我需要在名稱旁邊顯示一個零(我從Employees表中獲得所有員工的列表)。我目前的語法存在的問題是,YTD只是模擬本週列中的結果。我如何在我的語法中添加YTD列?我將不勝感激任何幫助。顯示年迄今銷售額
select coalesce(Employees,'Total') as "Employees", "This Week", "YTD"
from
(select t2.Employees,coalesce(sum(t1.Sales),0) "This Week", coalesce(sum (t1.Sales),0) "YTD"
from Employees t2
left join Sales t1 ON Employees = Employees
and "Week" = date_trunc('week', now())::date - 1
group by rollup(t2.Employees)) Z
從上面的代碼中我的結果:
Employees This Week YTD
Derek Jeter 0 0
Barry Bonds 3 3
Luis Gonzalez 6 6
Mike Piazza 10 10
Jason Witten 0 0
Lebron James 7 7
Daryl Wade 5 5
Eli Manning 11 11
Total 42 42
感謝@馬克,我的實際日期列是周。我應該用「Week」> = 01/01/2017 <= 12/31/2017替換兩者的date_trunc函數嗎?你怎麼看?我很感謝你在這裏幫助我。 –
將在這裏更新和選擇筆記 –
工作像一個治療馬克,這可以爲未來的開始日期,再次感謝。 –