使用紅移。我有一個具有以下字段的表:需要創建一個在日期前填寫值的表格
Column: Type:
department | varchar
employee_ID | varchar
event | varchar
date | date
和只是有一個字段,並列出所有日期的日期表。 每個部門都有幾個部門有員工。 「事件」字段有兩個可能的值:JOIN或LEAVE。加入記錄是他們加入公司/部門的日期,並且LEAVE記錄是他們離開公司/部門的日期。它看起來像這樣:
department employee_id event date
marketing 001 JOIN 6/17/2017
marketing 002 JOIN 6/19/2017
marketing 002 LEAVE 6/20/2017
marketing 001 LEAVE 6/22/2017
我想使已經每天上市(再次我有所有日期以及表)表以及何時使用它們的值1和0的值當他們不是全體員工時。這應該是這樣的:
date department employee_id employed
6/17/2017 marketing 001 1
6/18/2017 marketing 001 1
6/19/2017 marketing 001 1
6/19/2017 marketing 002 1
6/20/2017 marketing 001 1
6/20/2017 marketing 002 1
6/21/2017 marketing 001 1
6/22/2017 marketing 001 1
想我可能需要創建具有開始日期和同一行中離開日期一個新表?因爲我可以使用case語句和分區來獲取第一個和最後一個日期,但不知道該從哪裏去......也許是一個理貨表?該查詢可能是這樣,但仍難道不得到期望的結果:
select
department,
employee_id,
CASE WHEN ROW_NUMBER() OVER (PARTITION BY employee_id ORDER BY date ASC) = 1 THEN date
ELSE NULL
END AS join_date,
CASE WHEN ROW_NUMBER() OVER (PARTITION BY employee_id ORDER BY date DESC) = 1 THEN date
ELSE NULL
END AS leave_date
from table1
即時通訊使用redshift – Berra2k