dポイントプレゼントキャンペーン実施中!

PostgreSQL初心者です。

結合と集計、別々のsqlステートメントだと動くのですが、同一のステートメントに記述するとエラーになります。 どなたか教えていただけると大変助かります。

phpPgAdmin を利用しております。

=エラーになったsqlステートメント=
SELECT "pointm"."usercd", Sum("pointm"."getpoint"), "userm"."nickname"
FROM "pointm" INNER JOIN "userm" on "pointm"."usercd" = "userm"."usercd"
WHERE "pointm"."class" = '1'
GROUP BY "pointm"."usercd";

=エラーメッセージ=
ERROR: Attribute userm.nickname must be GROUPed or used in an aggregate function

=動いた結合sql=
SELECT "pointm"."usercd", "userm"."nickname"
FROM "pointm" INNER JOIN "userm" on "pointm"."usercd" = "userm"."usercd"
WHERE "pointm"."class" = '1';

=動いた集計sql=
SELECT "pointm"."usercd", Sum("pointm"."getpoint")
FROM "pointm"
WHERE "pointm"."class" = '1'
GROUP BY "pointm"."usercd";

A 回答 (1件)

エラーメッセージそのまんまですね。


集合関数を使う場合は、ほかのカラムは全てGroup Byに含まれてないといけませんよ。

Group Byに"userm"."nickname"を追加してください。
これでエラーはでなくなると思います。
ただ、それが正しい結果とは限りませんが・・。
    • good
    • 0
この回答へのお礼

DQ9 様、

大変助かりました。 上手くいきました。

英語を含めてもっと勉強いたします。

どうもありがとうございました。 深謝です。

お礼日時:2006/03/08 10:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!