java - 每月总计金额的 SQL 数据透视表

标签 java sql ucanaccess

我在 sql 方面没有太多经验。在我使用 ucanaccess 库的小 java 程序中,我能够在创建一个简单的表(名为 ReportSales)后执行一些简单的查询。该表为:

ID  DATE            PRODUCT     SALES       FEES
1   2014-10-02      productA    10.000      100
2   2014-09-02      productC    12.000      240
3   2014-09-02      productA    8.000        80
4   2014-11-02      productB    7.000       105
5   2014-08-02      productB    6.000        90
..  ..........      ........    ......      ....
..  ..........      ........    ......      ....

最后一个任务是创建一个数据透视表,我将在其中插入每种产品的每月销售额。像这样的东西:

PRODUCT     AUG         SEP         OCT      NOV
productA    0         8.000      10.000        0
productB    6000          0           0     7000
productC    0        12.000           0        0

还有月费的另一个支点

我的(错误)尝试是:

SELECT [8] as AUG, [9] as SEP, [10] as OCT, [11] as NOV
FROM
(SELECT SALES,MONTH(DATE) 
    FROM ReportSales) AS tmp
PIVOT
(
SUM(SALES)
FOR MONTH(DATE) IN ([8], [9], [10], [11])
) AS PivotTable

有人可以帮助我吗?提前致谢

最佳答案

UCanAccess 支持数据透视查询,前提是它们是在 Access 中内置的,因此您必须首先使用 Access IDE 创建交叉表查询。 或者您可以直接在 Access 中创建一个新查询,直接输入以下 SQL:

TRANSFORM sum(ReportSales.sales) AS SalesCount
SELECT ReportSales.product
FROM ReportSales
GROUP BY ReportSales.product
PIVOT Format([date],"mmm");

然后假设您将查询保存为 query1,您只需使用 UCanAccess 执行即可:

Select * from query1;

关于java - 每月总计金额的 SQL 数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27931683/

相关文章:

php - 如何向表中添加自动增量的行,这将影响我的主键

java - 我有选择查询问题

java - 警告 : Looking for usage map at page 1774, 但页面类型在 UCanAccess 中为 1

java - 是否可以从 eclipse.ini 文件中删除文件夹?

java - Java中多参数重载方法的选择规则

java - SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 '? AND password=?' 附近使用的正确语法

sql - 如何检查与 rails 中的 where 语句的空关联?

sql - 从 Recordset 粘贴数据

java - 无法在小程序中使用 ucanaccess 方法连接或插入数据库

Java Eclipse 剖析 Java 异常