【发布时间】:2017-08-06 09:39:11
【问题描述】:
有两个表licenses和organization
许可表包含 5 列
oracle_apps tableau sab_bi tririga time_snapshot
0 1 1 1 2017-06-13 08:12:02.640
0 0 0 1 2017-06-13 09:12:02.640
0 0 1 0 2017-06-13 11:52:02.640
0 1 0 1 2017-06-14 09:12:02.640
0 0 1 0 2017-06-14 10:12:02.640
组织表有 2 列
license_name license_count
oracle_ 5.0000000
tableau_ 1.0000000
sab_ 20.0000000
tririga_ 10.0000000
因此输出将包含两个表的连接的选择查询或 pl SQL 存储过程,它将显示一天使用了多少许可证(计数)
输出:
oracle_apps tableau sab_bi tririga time_snapshot oracle_ tableau_ sap_ tririga_
0 1 2 2 2017-06-13 5.0000000 1.0000000 20.0000000 10.0000000
0 1 1 1 2017-06-14 5.0000000 1.0000000 20.0000000 10.0000000
例如: 2017-06-13 总共使用了 5 个许可证,并且分别0,1,2,2 即 sum(oracle_apps)、sum(tableau)、sum(sab_bi)、sum(tririga) 和 lly,在 2017 年 6 月 14 日,总共使用了 3 个许可证,即 (0, 1, 1, 1)
使用 group by to_char(time_snapshot, yyyy-mm-dd) 很容易,但我无法加入表格并将行用作列,因为在组织表中,该行将列在输出中,我知道使用 PIVOT 的一种方法,但我很困惑如何在结果中得到它,并且对于每一行 license_name 值将相同,即 ( 5.0000000 | 1.0000000 | 20.0000000
| 10.0000000)
那么有没有将数据分组并加入表格的解决方案?
【问题讨论】:
-
你试过什么?如果您有错误,那么一定有一些查询引发了这些错误,请将此查询附加到问题中。
-
对不起兄弟,我使用的查询只是对一天进行分组.. 不知道如何加入和使用行作为列,请您提供一个完整的解决方案