0

SQLを学んでいて、3つ以上のテーブルを結合する従来の方法を知りたいです。

NATURALJOINとJOINONの使用について知っています。JOIN USINGも可能だと思いますか?でも、伝統的なやり方があると聞きましたが、わかりません。

私は次のことを試しました:

SELECT c#, fn, ln, cat
FROM TABLE1, TABLE4
WHERE (TABLE1.c# = TABLE2.c#
AND TABLE3.o# = TABLE2.o#
AND TABLE4.i = TABLE3.i);

しかし、私は常にエラーORA-00904:無効な識別子%sを受け取ります

誰かが私を助けてくれるか、私を正しい方向に向けてくれますか?

ありがとう

4

1 に答える 1

4

あなたの例では:

SELECT c#, fn, ln, cat
FROM TABLE1, TABLE4
WHERE (TABLE1.c# = TABLE2.c#
AND TABLE3.o# = TABLE2.o#
AND TABLE4.i = TABLE3.i);

... WHERE 句が欠落しているテーブル TABLE2 および TABLE3 を参照しています。

次のいずれかが必要です。

SELECT c#, fn, ln, cat
FROM TABLE1, TABLE4
WHERE TABLE1.c# = TABLE4.c#;

また

SELECT c#, fn, ln, cat
FROM TABLE1, TABLE2, TABLE3, TABLE4
WHERE (TABLE1.c# = TABLE2.c#
AND TABLE3.o# = TABLE2.o#
AND TABLE4.i = TABLE3.i);

... Oracle を使用していると思いますか? 「#」を含む列識別子は有効ですか?

于 2012-07-26T04:37:03.840 に答える