質問: 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すればよいかもしれませんが、主ファイルに当る部分の場合はサブクエリーに切り出す方法が判りません。 よろしくお願いします。
回答: >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 ~ といった形式になるのでは?