プロが教える店舗&オフィスのセキュリティ対策術

oracle8iを使用しています。
2つのテーブルを結合したいと思っていますが、
テーブル構成が、N対Nのテーブルのため、
片方をグループ化したあとに結合させようと思っています。

ところが、単純にGroup byを使うと、結合した後に
グループ化してしまうために、期待した値がひょうじされません。

なんとか、1回のSQLで正しく情報をとることはできないものでしょうか。

A 回答 (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を書く。
    • good
    • 3
この回答へのお礼

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

お礼日時:2004/11/30 18:48

select フィールド名


from テーブル1, (select フィールド名 from テーブル2 group by なんとか) テーブル2_1
where テーブル1とテーブル2_1の結合条件

ですかね。

インラインビューです。
    • good
    • 2
この回答へのお礼

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

お礼日時:2004/11/30 18:48

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

このQ&Aを見た人はこんなQ&Aも見ています

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


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング