在sql中,我们需要按以下方式转换表:
表1:
+-----+---------+-----------+
| ID | insured | DOD |
+-----+---------+-----------+
| 123 | Pam | 6/18/2013 |
| 123 | Nam | 2/12/2010 |
| 123 | Tam | 2/10/2013 |
| 456 | Jessi | 4/6/2003 |
| 457 | Ron | 4/10/2010 |
| 457 | Tom | 5/5/2008 |
+-----+---------+-----------+
所需输出表:
+-----+---------+-----------+-----------+-----------+
| ID | insured | DOD1 | DOD2 | DOD3 |
+-----+---------+-----------+-----------+-----------+
| 123 | Pam | 6/18/2013 | 2/12/2010 | 2/10/2013 |
| 456 | Jessi | 4/6/2003 | null | null |
| 457 | Ron | 4/10/2010 | 5/5/2008 | null |
+-----+---------+-----------+-----------+-----------+
我在某个地方见过我们可以使用pivot和unpivot,但我不知道在这里如何使用它。
非常感谢你的帮助。
2条答案
按热度按时间waxmsbnn1#
我会这样运行它,猜测你的id是一个数字,你只想要那些记录。从垂直到水平,轴是最好的选择
rqcrx0a62#
假设您真的想要——或者可以接受——按降序排列的日期,那么您可以使用条件聚合:
如果您想保留原始顺序,那么您的问题没有足够的信息。如果有一列具有排序,则可以用于
row_number()
.