- ベストアンサー
GROUP BYを行った後に結合したい。
oracle8iを使用しています。 2つのテーブルを結合したいと思っていますが、 テーブル構成が、N対Nのテーブルのため、 片方をグループ化したあとに結合させようと思っています。 ところが、単純にGroup byを使うと、結合した後に グループ化してしまうために、期待した値がひょうじされません。 なんとか、1回のSQLで正しく情報をとることはできないものでしょうか。
- みんなの回答 (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を書く。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
select フィールド名 from テーブル1, (select フィールド名 from テーブル2 group by なんとか) テーブル2_1 where テーブル1とテーブル2_1の結合条件 ですかね。 インラインビューです。
質問者
お礼
できました。とてもうれしいです!! ありがとうございます。
お礼
できました。とてもうれしいです!! ありがとうございます。