2013-10-31 41 views
0

我有3个表AB和C.我想首先处理表A和B,创建一个表'AB',然后将结果加入到C.这是我的想法:Oracle - 使用表别名加入操作

select C.number, C.class, AB.name 
from C, 
    (select A.name, A.number 
    from A 
    FULL OUTER JOIN B 
    ON A.number = B.number) AB 
FULL OUTER JOIN AB 
ON AB.number = C.number 

但是,它似乎并没有工作。现在我不确定在Oracle DB中是否给出了A & B的别名结果。这应该如何做到正确的方式?

回答

1
SELECT C.number, 
     C.class, 
     AB.name 
FROM C 
FULL OUTER JOIN 
      (SELECT A.name, 
        A.number 
       FROM A 
       FULL OUTER JOIN B 
       ON A.number = B.number) AB 
    ON AB.number = C.number 
+0

谢谢!所以这是JOIN命令的定位.. – Rexroth

+0

是的,当你使用'JOIN'时,你不需要逗号 – mucio