1

顧客データと請求書を含む小さな LibreOffice データベースがあります。各請求書は n 個の項目で構成されます。

顧客:

**********************
* ID * Name * Adress *
**********************
*  0 *   N1 *     A1 *
*  1 *   N2 *     A2 *
**********************

請求書:

********************************
* ID * CustomerID *       Date *
********************************
*  0 *          0 * 01/01/1970 *
*  1 *          0 * 08/02/1971 *
********************************

アイテム:

***********************************
* ID * InvoiceID * Amount * Price *
***********************************
*  1 *         0 *     12 * 12.95 *
*  2 *         0 *      9 *  8.75 *
*  3 *         1 *     29 *  8.75 *
***********************************

請求書の値を使用してクエリを作成したい:

SELECT "invoices"."ID", SUM( "items"."Amount" * "items"."Price" ) 
FROM "invoices", "items" 
WHERE "invoices"."ID" = "items"."InvoiceID" 
GROUP BY "invoice"."ID"

これまでのところ、すべてが機能します。しかし、クエリにさらに情報を含めたい場合、たとえば

SELECT "invoices"."ID", "invoices"."Date", SUM( "items"."Amount" * "items"."Price" ) 
FROM "invoices", "items" 
WHERE "invoices"."ID" = "items"."InvoiceID" 
GROUP BY "invoice"."ID"

エラーメッセージが表示されますNot in aggregate function or group by clause。phpmyadmin で試してみたところ、うまくいったので、SQL 構文は問題ないと思います。SQL ステートメントの問題は何ですか?

4

1 に答える 1

2

group by 句に "invoices"."Date" を含める必要があります。

于 2016-01-26T14:52:53.663 に答える