• ベストアンサー

SQLPLUSのGROUP BY句について

Oracle9iのSQLPLUSにて、GROUP BY句で指定した列以外の列をSELECT文の選択結果に表示させたいだけなのですがうまくいきません。 SELECT 列A,列B,列C FROM テーブル1 A INNER JOIN ( SELECT 列A,COUNT(*) FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) B ON A.列A = B.列A 「"B.列A"が無効識別子です」エラーが発生します。 何卒宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.2

・ Bの別名はやめて、 SELECT 列A,列B,列C FROM テーブル1 A where 列A in ( SELECT 列A,COUNT(*) FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) ; としてみてください。

ryozyryozy
質問者

お礼

返事遅くなりましたがうまくいけました。 どうもありがとうございました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

いま、Oracleが動かせる環境にいないので無試験ですが。 SELECT 列A,列B,列C FROM テーブル1 A where A.列A in ( SELECT 列A FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) B ; だとどうなりますか? OKならば、 SELECT 列A,列B,列C FROM テーブル1 A INNER JOIN ( SELECT 列A FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) B ON A.列A = B.列A でいけるかも。

関連するQ&A