我有以下两个表:
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)
答案 0 :(得分:3)
我认为这更简单地写成:
SELECT A.eID, A.eID as dID
FROM table_A
UNION ALL
SELECT B.eID, B.dID
FROM table B;
但子查询仍然不允许这样做。我建议使用视图(或切换到更符合ANSI标准的数据库;)。