SQLの左外部結合について

解決


Sarra  2006-09-12 23:44:59  No: 96593

いつもお世話様です。
今回は題名のどおり、SQL文について質問させて頂きます。

テーブル1:  test.bad
フィールド名:①  Number  ②NAME  

テーブル2:  test.all
フィールド名:①  Number

SELECT文は以下となります:  
select b.Number,b.NAME,a.Number
form test.bad as b left jion test.all as a
on b.Number = a.Number
group by b.Number,b.NAME,a.Number
order by a.Number desc

で実行すると、
SQL実行中に以下のエラーが発生しました。
エラーコード:933  [Oracle][ODBC Oracle Driver][Oracle OCI]ORA-00933: SQLコマンドが正しく終了されていません。.
SQLステータス:37000
というエラーがでました。
このSELECT文の書き方について、どなたが教えて頂けませんか。宜しくお願いいたします。


こっちゃぶ  2006-09-13 02:32:37  No: 96594

エラーを見るとoracleとありますが、oracleでは  Left join  は使えません。
oracleの場合は  (+)  を使用します。

例)
form test.bad as b, test.all as a
where b.Number = a.Number (+)


Sarra  2006-09-13 02:44:00  No: 96595

こっちゃぶさん、ご教授ありがとうございます。
おかけ様で、この問題が解決できました。
いい勉強になりました。


魔界の仮面弁士  2006-09-13 07:20:30  No: 96596

> oracleでは  Left join  は使えません。
使えないのは、Oracle 8i 以下の古いバージョンの場合ですね。

現行の 9i や 10g では、SQL1999構文の結合処理が使えるようになっています。
http://otn.oracle.co.jp/products/oracle9i/daily/011.html

# VB に関係ないような。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加