- ベストアンサー
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"が無効識別子です」エラーが発生します。 何卒宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
・ Bの別名はやめて、 SELECT 列A,列B,列C FROM テーブル1 A where 列A in ( SELECT 列A,COUNT(*) FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) ; としてみてください。
その他の回答 (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 でいけるかも。
お礼
返事遅くなりましたがうまくいけました。 どうもありがとうございました。