質問 |
||
| QNo.3920225 | SQL 外部結合についての質問 | |
|---|---|---|
| 質問者:gogoogoo11 |
SQLの外部結合についての質問です。 今テーブルA,B,Cがあるとします。 AはBに対して外部結合。BはCに対して外部結合 というようにする事は出来ますでしょうか。 SQLを実行してもエラーになります (例) select A.* from A,B,c where A.項目1 = B.項目1 (+) and B.項目2 = C.項目2 (+) |
|
困り度:
|
||
| 質問投稿日時: 08/04/03 23:46 |
||
回答 |
|
| ANo.2 | 以下のような結合ならエラーになります。 AとBを外部結合(Aが主) BとCを外部結合(Cが主) SQL> l select a.ename from emp a, emp b, dept c where a.empno = b.empno(+) and c.deptno = b.deptno(+) ; SQL> / where a.empno = b.empno(+) * 行5でエラーが発生しました。: ORA-01417: 表が少なくとも1つの他の表に外部結合されている可能性があります。 どうしてもやりたい場合はサブクエリにするとか、Viewにするとか すればよいです。 SQL> l select a.ename from emp a, (select b.empno,c.deptno from emp b, dept c where c.deptno = b.deptno(+) ) x where a.empno = x.empno(+) ; SQL> / ENAME -------------------- ALLEN WARD JONES MARTIN BLAKE CLARK KING TURNER JAMES FORD MILLER ちなみに、例で出された以下の結合ならエラーになりません。 AとBを外部結合(Aが主) BとCを外部結合(Bが主) |
|---|---|
| 回答者:3rd_001 | |
| 種類:アドバイス どんな人:経験者 自信:参考意見 |
|
| 回答日時: 08/04/04 13:03 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答 |
|
| ANo.1 | お使いのオラクルのバージョンは?また、エラーメッセージは? ORACLE9iR2ではエラーにはなりませんが。 |
|---|---|
| 回答者:nora1962 | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/04/04 10:58 |
|
| |
| この回答への補足 | この回答に補足をつける(質問者のみ) |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |