Đây là một câu hỏi đã boggling tôi trong vài ngày nay, và tôi tìm kiếm và tìm kiếm nhưng không thể tìm thấy bất kỳ câu trả lời thuyết phục!2 Tham gia bên ngoài trên cùng một bảng?
Câu hỏi đơn giản, tại sao nó bị giới hạn có 2 lần tham gia bên ngoài trong SQL, trên cùng một bảng ngay cả với các cột khác nhau đang được sử dụng, hãy kiểm tra các truy vấn bên dưới để hiểu rõ hơn. Ngoài ra tôi có thể khắc phục chúng bằng cách sử dụng truy vấn con lồng nhau hoặc tham gia ANSI, nhưng sau đó tại sao nó thậm chí còn bị hạn chế ở nơi đầu tiên sử dụng toán tử (+)!
Trong câu hỏi này, tôi đề cập đến lỗi: "ORA-01.417: một bảng có thể bên ngoài tham gia vào nhiều nhất là một bảng khác"
Những gì tôi muốn hỏi là:
Tại sao điều này được phép:
select * from
a, b, c
where a.a1 = b.b1
and a.a2 = c.c1
Và tại sao điều này là không được phép:
select * from
a, b, c
where a.a1(+) = b.b1
and a.a2(+) = c.c1
Hãy để lại ANSI và lồng nhau subqueries mình
Bạn có thể cung cấp ví dụ về những gì bạn đang cố gắng làm không? Bạn sẽ có thể tham gia ('bên trong' hoặc' bên ngoài') cùng một bảng nhiều lần nếu cần ... – sgeddes
Như @sgeddes nói, bạn rất có thể bị lẫn lộn. Không có giới hạn "2 tham gia bên ngoài" trên Oracle – Lamak
Bạn đang đề cập đến 'ORA-01417: một bảng có thể được nối ngoài với tối đa một bảng khác' không? –