我得到了下表,其中存在以下问题:
从数据集创建缓慢变化的维度类型 2。EMPLOYEE 表记录了每个员工的日常记录。类型 2 - 将具有有效数据和到期日期。
| 员工ID | 日期 | 姓名 | 经理ID |
|---|---|---|---|
| 123 | 3 月 1 日 | 约翰·史密斯 | 1 |
| 123 | 3月2日 | 约翰·史密斯 | 1 |
| 123 | 3月3日 | 约翰·史密斯 | 2 |
| 123 | 3 月 4 日 | 约翰·史密斯 | 3 |
| 123 | 3月5日 | 约翰·史密斯 | 3 |
我相信我的目标表应该如下所示:
| 员工ID | 姓名 | 经理ID | 生效日期 | 截止日期 |
|---|---|---|---|---|
| 123 | 约翰·史密斯 | 1 | 3 月 1 日 | 3月3日 |
| 123 | 约翰·史密斯 | 2 | 3月3日 | 3 月 4 日 |
| 123 | 约翰·史密斯 | 3 | 3 月 4 日 | 无效的 |
我尝试了以下查询:
SELECT employee_id, name, manager_id,
CASE
WHEN LAG(manager_id) OVER() != manager_id THEN e.date …Run Code Online (Sandbox Code Playgroud)