重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (2件)

・ Bの別名はやめて、



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

としてみてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/04/24 01:24

いま、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
でいけるかも。
    • good
    • 0

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

関連するカテゴリからQ&Aを探す