所以,我一直在尝试关注外连接:
SELECT * FROM table1
LEFT OUTER JOIN table2
ON table1.a = table2.a
AND table1.b = table2.b
LEFT OUTER JOIN table3
ON table1.a = table3.a
AND table1.b = table3.c
我已经测试过,可以毫无问题地进行测试。但是,我正在使用的软件使用旧语法进行左连接。所以我这样写了:
SELECT * FROM table1, table2, table3
WHERE table1.a = table2.a (+)
AND table1.b = table2.b (+)
AND table1.c = table3.a (+)
AND table2.c = table3.b (+)
显然,我得到了ORA-01417:一个表可能外部连接到最多一个其他表错误。有什么方法可以解决这个问题吗?
table1.c在任何table2列中都不存在,所以我不得不使用table1.c = table3.b子句。