1

そこで、OpenOffice Base を使ってみたのですが、苦労しました。さて、ここにこの SQL クエリがあり、うまく機能します。

SELECT  "CUSTOMER"."CREDIT_LIMIT" AS "CREDIT_LIMIT",
         COUNT(*) AS "TOTAL_NUMBER"
FROM "CUSTOMER"
WHERE "SLSREP_NUMBER" = 6
GROUP BY "CREDIT_LIMIT";

クエリ:

| | CRED_LIMIT | TOTAL_NUMBER |
| | 1500 | 1 |
| | 750 | 2 |
| | 1000 | 1 |

今私の問題は、これを追加するときです:AND ("TOTAL_NUMBER" > 1)

SELECT  "CUSTOMER"."CREDIT_LIMIT" AS "CREDIT_LIMIT",
         COUNT(*) AS "TOTAL_NUMBER"
FROM "CUSTOMER"
WHERE "SLSREP_NUMBER" = 6 AND "TOTAL_NUMBER" > 1
GROUP BY "CREDIT_LIMIT";

Open Office はエラーをスローします: 「ステートメント内の条件ではありません」

私の質問は次のとおりです。私の構文に何か問題がありますか? 私は何か間違ったことを書きましたか?または、私の OOBase のコピーに欠陥がありますか? または私は何かを逃していますか?ここに画像の説明を入力


更新:potashinHAVINGの提案どおりに使用してみました(回答ありがとうございます)が、まだ機能していないようです。

4

1 に答える 1

1

@potashin は接近していましたが、まったく正しくありませんでした。言わないでAS "TOTAL_NUMBERS"。また、Base では大文字の名前を引用符で囲む必要はありません。

SELECT CUSTOMER.CREDIT_LIMIT AS CREDIT_LIMIT, COUNT(*)
FROM CUSTOMER
WHERE SLSREP_NUMBER = 6
GROUP BY CREDIT_LIMIT
HAVING COUNT(*) > 1

参照: http://www.w3resource.com/sql/aggregate-functions/count-having.php

于 2016-02-29T17:42:28.777 に答える