いつもお世話様です。
今回は題名のどおり、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文の書き方について、どなたが教えて頂けませんか。宜しくお願いいたします。
エラーを見るとoracleとありますが、oracleでは Left join は使えません。
oracleの場合は (+) を使用します。
例)
form test.bad as b, test.all as a
where b.Number = a.Number (+)
こっちゃぶさん、ご教授ありがとうございます。
おかけ様で、この問題が解決できました。
いい勉強になりました。
> oracleでは Left join は使えません。
使えないのは、Oracle 8i 以下の古いバージョンの場合ですね。
現行の 9i や 10g では、SQL1999構文の結合処理が使えるようになっています。
http://otn.oracle.co.jp/products/oracle9i/daily/011.html
# VB に関係ないような。
ツイート | ![]() |