最后的结局对于表T1计算基于结果/ ID
+----------+-----------+-----------------+
| PersonID | Date | Employment |
+----------+-----------+-----------------+
| 1 | 2/28/2017 | Stayed the same |
| 1 | 4/21/2017 | Stayed the same |
| 1 | 5/18/2017 | Stayed the same |
| 2 | 3/7/2017 | Improved |
| 2 | 4/1/2017 | Stayed the same |
| 2 | 6/1/2017 | Stayed the same |
| 3 | 3/28/2016 | Improved |
| 3 | 5/4/2016 | Improved |
| 3 | 4/19/2017 | Worsened |
| 4 | 5/19/2016 | Worsened |
| 4 | 2/16/2017 | Improved |
+----------+-----------+-----------------+
我试图来计算就业/是PersonID字段Final Result
领域划分,基于相对于之前的结果的最新结果/人上。我的意思是在逻辑解释背后Final Result
:
的每个人,
如果所有的结果/人都保持不变,那么只应该最终 结果的那个人是“沉祥福同样的”
如果变差了/改进 是在结果的人所设定的,最终的结果应该是 最新变差了/提升了该人的结果,不论‘保持不变’一个后W/I结果。
例如:
- 人1的最终结果 - >保持不变,按(1)
- 人2的最终结果 - >提高,为全(2)
- 人3最终结果 - >恶化,按照(2)
- 人4最终结果 - >改进,按照(2)
所需的结果:
+----------+-----------------+
| PersonID | Final Result |
+----------+-----------------+
| 1 | Stayed the same |
| 2 | Improved |
| 3 | Worsened |
| 4 | Improved |
+----------+-----------------+
我知道这可能涉及到窗口函数或子查询,但我竭力实现代码。
分区ROW_NUMBER()会得到你想要有一个CASE表达式或IIF – Matt