在 h2 中创建枢轴

Posted

技术标签:

【中文标题】在 h2 中创建枢轴【英文标题】:Create Pivot In h2 【发布时间】:2015-10-31 05:07:24 【问题描述】:

我在 Oracle 中有一个使用 PIVOT 的视图,我想将它应用到 h2 数据库。但是,h2 尚不支持 Pivot。

我目前正在使用 CASE 语句来执行枢轴,这目前很好。

不过,我对 h2 中的用户定义函数很感兴趣。

是否可以通过使用用户定义的函数在 h2 中创建通用 PIVOT 函数?有人做过吗?

【问题讨论】:

【参考方案1】:

Oracle 和 SQL Server 是仅有的具有PIVOT(或UNPIVOT)子句的流行数据库,它为输入行生成多个聚合列。

在所有其他数据库中,您必须像以前那样手动进行旋转。

Stack Overflow 上充斥着这样的 mysql 问题,例如:

MySQL pivot table MySQL pivot in same table MySQL pivot query MySQL Pivot or Excel Solution

【讨论】:

h2 有用户定义的函数。例如我以这种方式在 h2 中提供了 Oracles TO_DATE 函数。我想知道这些功能能走多远。 @opticyclic:是的,但PIVOT 不是标量函数。它像GROUP BY 一样转换表格。我怀疑这在 H2 中是可能的。如果你想确定,我建议在h2 user group 上问这个问题

以上是关于在 h2 中创建枢轴的主要内容,如果未能解决你的问题,请参考以下文章

防止用户在 H2 中创建表

为啥我不能在我的 H2 数据库中创建表?

尝试在 H2 数据库中创建表时出现 Liquibase 错误

快速 SQL 问题:在 H2 中创建具有主键的表的正确语法?

您可以在 H2 中创建多个目录吗?

在 wp 管理仪表板中创建表单并将数据保存在自定义创建的数据库中