首页 > 解决方案 > LibreOffice Base 数据透视表以获得更好的报告,无需计算值

问题描述

我在这里还是很新,我对任何 sql 查询的知识都非常有限。我正在帮助我的公司创建一个数据库来使用 LibreOffice Base 存储“绘画报告”。我创建了一个包含超过 12 个列/字段的表来存储报告。

我目前的表:

+----------+----------+------------+-----------+-----------+---------+-----------------+
| ReportID | nthCoat  | DateCoat   | NameCoat  | Shade     | BatchNo | __more_fields__ |
+----------+----------+------------+-----------+-----------+---------+-----------------+
| 1        | 1st Coat | 01/01/2020 | Luxaprime | Red Oxide | B75489  | value           |
+----------+----------+------------+-----------+-----------+---------+-----------------+
| 1        | 2nd Coat | 02/01/2020 | Epilux    | Grey      | B98731  | value           |
+----------+----------+------------+-----------+-----------+---------+-----------------+
| 1        | 3rd Coat | 03/01/2020 | Luxol     | Yellow    | B78937  | value           |
+----------+----------+------------+-----------+-----------+---------+-----------------+

由于表格的列/字段太多,因此无法在生成的报告中显示。

因此,我想将表格旋转为以下内容:

+-----------------+------------+------------+------------+
| nthCoat         | 1st Coat   | 2nd Coat   | 3rd Coat   |
+-----------------+------------+------------+------------+
| DateCoat        | 01/01/2020 | 02/01/2020 | 03/01/2020 |
+-----------------+------------+------------+------------+
| NameCoat        | Luxaprime  | Epilux     | Luxol      |
+-----------------+------------+------------+------------+
| Shade           | Red Oxide  | Grey       | Yellow     |
+-----------------+------------+------------+------------+
| BatchNo         | B75489     | B98731     | B78937     |
+-----------------+------------+------------+------------+
| __more_fields__ | value      | value      | value      |
+-----------------+------------+------------+------------+

通过旋转表格,它可以容纳大量的列/字段,并且在报告中更容易呈现。“nthCoat”的值固定为 1st、2nd 和 3rd Coat。

不需要计算值。所有的值主要是 varchar 字段。

有人可以帮我转动桌子吗?提前致谢。

我花了几个小时试图在网站上搜索任何现有的解决方案,但其中大多数涉及复杂查询的计算,这对于像我这样的初学者来说太难理解了。

标签: mysqlpivotpivot-tablehsqldb

解决方案


推荐阅读