【发布时间】:2020-09-18 15:12:52
【问题描述】:
我有一个格式如下的表格
详情
+-------------------+--------+------------+----------------+-------+
| LOB | Level | Year_Month | Classification | Count |
+-------------------+--------+------------+----------------+-------+
| Mergers& Acqu | Level3 | 2020-05 | Statement | 356 |
+-------------------+--------+------------+----------------+-------+
| Wealth Management | Level2 | 2020-05 | Lending | 23 |
+-------------------+--------+------------+----------------+-------+
| Finance | Level3 | 2020-06 | Statement | 65 |
+-------------------+--------+------------+----------------+-------+
如何旋转具有计数的 Year_month 列?
预期结果
+-------------------+--------+----------------+---------+---------+
| LOB | Level | Classification | 2020-05 | 2020-06 |
+-------------------+--------+----------------+---------+---------+
| Mergers& Acqu | Level3 | Statement | 356 | 0 |
+-------------------+--------+----------------+---------+---------+
| Wealth Management | Level2 | Lending | 23 | 0 |
+-------------------+--------+----------------+---------+---------+
| Finance | Level3 | Statement | 0 | 65 |
+-------------------+--------+----------------+---------+---------+
我尝试了以下查询,但没有得到想要的结果
SELECT * FROM DETAILS
PIVOT (SUM(Count) FOR YEAR_MONTH IN (SELECT distinct YEAR_MONTH FROM DETAILS))
如何使 IN CLAUSE 具有动态值而不是预设值?
【问题讨论】:
-
可以使用动态SQL:asktom.oracle.com/pls/asktom/…