SQL JOIN两个表

时间:2016-03-18 17:38:57

标签: sql ms-access

我有以下两个表:

table_A
eID   
1   
2   
3
4
table_B
eID  dID 
1    7   
1    5
2    9   
2    3
4    8

我希望结果看起来像这样:

eID dID 
1    1
1    7
1    5
2    2
2    9
2    3
4    4
4    8
3    3

我想知道是否有任何不同的方法来实现这一点,而不是以下几点:

    (SELECT A.eID, A.eID
    FROM table_A AS A)
    UNION
    (SELECT A.eID, B.dID
    FROM table_A AS A
    INNER JOIN table_B AS B
    ON A.eID = B.eID)

1 个答案:

答案 0 :(得分:3)

我认为这更简单地写成:

SELECT A.eID, A.eID as dID
FROM table_A
UNION ALL
SELECT B.eID, B.dID
FROM table B;

但子查询仍然不允许这样做。我建议使用视图(或切换到更符合ANSI标准的数据库;)。