我必须将 DB2 表中的行转置为列。这就是我的表的结构。
ItemID Item Value
---------------------
1 Meeting Now
1 Advise Yes
1 NoAdvise No
2 Meeting Never
2 Advise No
2 NoAdvise Null
2 Combine Yes
Run Code Online (Sandbox Code Playgroud)
我希望将其转置为(请注意,我不想转置组合)
ItemID Meeting Advise NoAdvise
---------------------------------------
1 Now Yes No
2 Never No Null
Run Code Online (Sandbox Code Playgroud)
查询有点困难,可以帮忙吗?
我已经看到了这个问题(如何在DB2中透视表?)并且一些答案/评论提到能够在案例陈述中实现相同的效果但是我正在努力实现这一点,可能是由于离SQL太多年了.
这是我的一些数据的快照:
ID Date ErrID ErrDesc
---------------------------------------
164 2012-09-21 1402 Large V
164 2012-09-21 1409 Missing
416 2012-09-21 1409 Missing
1380 2012-09-21 1411 n - Mis
1500 2012-09-17 1411 n - Mis
1500 2012-09-21 1402 Large V
Run Code Online (Sandbox Code Playgroud)
一起使用的ID 和日期在查询中必须是唯一的,该查询将返回诸如以下内容,其中空槽为空.如何通过案例陈述或其他方式实现这一目标?请记住,我不认为我们的DB2版本支持"解码",我需要的SQL也需要能够在Derby上运行以进行测试.提前致谢.
ID Date Err1402 Err1409 Err1411
-----------------------------------------------------------------------
164 2012-09-21 Large V Missing
416 2012-09-21 Missing
1380 2012-09-21 n - Mis
1500 2012-09-17 n - Mis
1500 2012-09-21 Large V
Run Code Online (Sandbox Code Playgroud)