SQLServerで3つのテーブルを外部結合しようとしています。

where table1.col1 *= table2.col1
and table2.col2 *= table3.col2
のようなことがしたいのですが、
「外部結合の要求を持つクエリは許可されません。」
というエラーが出てしまいます。
OUTER JOINを使わないで上記外部結合をするSQLを教えていただけますか。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/12/12 16:20:50
  • 終了:2007/12/19 16:25:04

回答(1件)

id:bonlife No.1

回答回数421ベストアンサー獲得回数752007/12/12 17:06:38

ポイント60pt

「OUTER JOINを使わないで」という部分の意味がよく分かりませんでしたが、SQL-92(以降)の構文を使えば問題は回避できるはずです。

[参考URL]

SELECT *
FROM
  (table1 LEFT JOIN table2 ON table1.col1 = table2.col2)
  LEFT JOIN table3 ON table2.col2 = table3.col2
;

LEFT JOINはLEFT OUTER JOINと同じ意味ですので、OUTER JOINは行っていることになります。

勘違いしていたら申し訳ありません。

id:salvatore

内側の外部結合はNGなんですね。理解できました。ありがとうございます。

2007/12/12 17:23:30

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません