• ベストアンサー

GROUP BYを行った後に結合したい。

oracle8iを使用しています。 2つのテーブルを結合したいと思っていますが、 テーブル構成が、N対Nのテーブルのため、 片方をグループ化したあとに結合させようと思っています。 ところが、単純にGroup byを使うと、結合した後に グループ化してしまうために、期待した値がひょうじされません。 なんとか、1回のSQLで正しく情報をとることはできないものでしょうか。

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

  • ベストアンサー
  • na_kirajp
  • ベストアンサー率43% (33/76)
回答No.2

>テーブル構成が、N対Nのテーブルのため、 >片方をグループ化したあとに結合させようと思っています。 多分こんな形ではどうですか? SELECT A.KEY,B.KEY, FROM TABLE_A A ,(SELECT KEY FROM TABLE_B GROUP BY KEY) B WHERE A.KEY=B.KEY; 要はFROM句にテーブル名ではなく、SELECT~GROUP BYを書く。

7_11shop
質問者

お礼

できました。とてもうれしいです!! ありがとうございます。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

select フィールド名 from テーブル1, (select フィールド名 from テーブル2 group by なんとか) テーブル2_1 where テーブル1とテーブル2_1の結合条件 ですかね。 インラインビューです。

7_11shop
質問者

お礼

できました。とてもうれしいです!! ありがとうございます。

関連するQ&A

専門家に質問してみよう