0

Oracle での作業: where 句を使用して内部自己結合を実行しようとしています。次に、その結​​果を取得して、左外部結合を実行します。

(select * from table1 A
inner join
select * from table1 B
on A.id = B.id
where
A.id is not null and B.id is not null) C
left outer join
select * from table2 D
on C.id = D.id

どういうわけか、私は構文的に挑戦されており、これを機能させることができません。どこにも正しい構文が見つからないようです。

4

2 に答える 2

1

where句を最後に置くだけです。データベースはそれを正しくします:

select * 
from table1 A
inner join table1 B on A.id = B.id
left join table2 D on D.id = A.id
where A.id is not null

この場合、id 列の結合と where 句の論理推移プロパティを利用できます。

于 2013-10-10T20:53:23.863 に答える
0

2 番目の結合はクエリに結合する必要があり、最初にselect * fromを追加します

select * from (select * from table1 A
inner join
select * from table1 B
on A.id = B.id
where
A.id is not null and B.id is not null) C
left outer join
select * from table2 D
on C.id = D.id
于 2013-10-10T20:54:10.887 に答える