みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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"が無効識別子です」エラーが発生します。
何卒宜しくお願い致します。

投稿日時 - 2008-04-23 00:41:49

QNo.3968899

すぐに回答ほしいです

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

・ Bの別名はやめて、

SELECT 列A,列B,列C FROM テーブル1 A
where 列A in ( SELECT 列A,COUNT(*) FROM テーブル1 GROUP BY 列A HAVING COUNT(*) >= 2 ) ;

としてみてください。

投稿日時 - 2008-04-23 02:19:24

お礼

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

投稿日時 - 2008-04-24 01:24:14

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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
でいけるかも。

投稿日時 - 2008-04-23 00:52:01

あなたにオススメの質問