SQL加入2个表的问题

时间:2015-09-30 16:53:29

标签: sql oracle

我有一个带有FIELD1的TABLE A,代码如145,156,167等,我有FIELD2,代码相同。在表B中 - 我有代码和位置,例如

145   Birmingham 
156   Boise 
167   Raleigh

我想显示FIELD1和FIELD 2的位置,但是我遇到了JOIN ...

的问题
SELECT 
    a.FIELD1, b.ID, b.LOCATION, a.FIELD2
FROM 
    TABLE A a
LEFT OUTER JOIN    
    TABLE B b ON a.FIELD1 = b.ID;

我可以看到FIELD1的位置描述 - 但是如何检索FIELD2的位置描述???

1 个答案:

答案 0 :(得分:1)

您需要连接表B两次:

SELECT 
    a.FIELD1, 
    b1.ID as ID1,
    b1.LOCATION as Location1,
    a.FIELD2, 
    b2.ID as ID2, 
    b2.Location as Location2
FROM TABLEA a 
    LEFT OUTER JOIN TABLEB b1 ON a.FIELD1 = b1.ID
    LEFT OUTER JOIN TABLEB b2 ON a.FIELD2 = b2.ID;