- 締切済み
JOINのネスト制限?
基本的な問題かもしれませんが、SQLのJOINの使い方が判らないので教えて下さい。 SQLで A表とB表とC表をINNER JOINした表に対して、 D表をOUTER JOINした結果に対して、E表をINNER JOINしたいのですが、 SQL文で書くことは可能でしょうか? SELECT ((((cols FROM A INNER JOIN B ON --) INNER JOIN C ON --) OUTER JOIN D ON --) INNER JOIN E ON --) と単純に書くとネスト数のオーバーなのかエラーが出ます。 後ろの部分だとサブクエリーに対してJOINすればよいかもしれませんが、主ファイルに当る部分の場合はサブクエリーに切り出す方法が判りません。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chukenkenkou
- ベストアンサー率43% (833/1926)
>SQL文で書くことは可能でしょうか? 具体的な結合方法が分からないのですが、可能ではないでしょうか? >SELECT ((((cols FROM A INNER JOIN B ON --) INNER JOIN C ON --) > OUTER JOIN D ON --) INNER JOIN E ON --) >と単純に書くとネスト数のオーバーなのかエラーが出ます。 条件など、記述を丸ごと省略しないでください。これらは回答者が内容を判断する上での大切なヒントです。 単に「エラーが出る」ではなくて、どういうエラーなのか、内容を書いてください。 「SELECT ((((cols FROM A INNER JOIN B ~」の「cols」って、もしかして列名ですか?括弧の位置がおかしいですけど? select ~ from ((A inner join B on ~ inner join C on ~) left join D on ~) inner join E on ~ といった形式になるのでは?