用一个表加入两个表

时间:2013-02-18 21:17:53

标签: sql join

我需要执行以下操作(我不确定是否可以使用SQL)

表A

col_a_1,col_a_2,col_a_3

表B

col_a_1,col_b_1,col_b_2 ....

表C

col_a_1,col_c_1,col_c_2 ....

col_a_1在表A中是唯一的。我需要连接表A,B,C,这样表A中的每个条目都会出现多次,但表B和C中的每个条目只出现一次并且对着表的同一个col_a_1甲

我知道如何使用代码来完成它。是否也可以单独使用SQL?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您要么使用某种外部联接。无论是左外还是外外。

SELECT A.*, B.*, C.* 
FROM Table_A A
LEFT JOIN Table_B B on A.col_A_1 = B.Col_A_1
LEFT JOIN table_C C on A.Col_A_1 = C.Col_A_1


SELECT A.*, B.*, C.* 
FROM Table_A A
FULL OUTER JOIN Table_B B on A.col_A_1 = B.Col_A_1
FULL OUTER JOIN table_C C on A.Col_A_1 = C.Col_A_1

或者可能是工会结果......只取决于你所追求的目标。

SELECT A.*, B.* 
FROM Table_A A
INNER JOIN Table_B B on A.col_A_1 = B.Col_A_1
UNION
SELECT A.*, C.* 
FROM Table_A A
INNER JOIN Table_C C on A.col_A_1 = C.Col_A_1