1

私は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

誰でも私を助けることができますか?前もって感謝します

4

1 に答える 1

1

UCanAccess は、ピボット クエリが Access に組み込まれている場合にのみサポートするため、最初に Access IDE を使用してクロス集計クエリを作成する必要があります。または、次の SQL を直接入力して、Access で新しいクエリを作成することもできます。

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

次に、クエリを query1 として保存したと仮定すると、UCanAccess を使用して実行するだけです。

Select * from query1;
于 2015-01-14T09:15:36.783 に答える