在mySQL中加入三个相同的表

时间:2015-09-25 18:32:14

标签: mysql

我有三个具有相同列但行数不同的表(每次不同)。

   table A         table B      table C
   (NaRows)       (NbRows)      (NcRows)
  --------       ---------     ----------
ID name v1 v2  ID name v1 v2  ID name v1 v2

我想创建一个包含所有记录(最大值为Na,Nb,Nc)而没有共享的表

     result of query 
-------------------------------------------------------------
A.ID    A.name    A.v1     A.v2     B.v1    B.v2     C.v1 C.v2

我尝试了一些JOIN但没有成功。请帮帮我!

1 个答案:

答案 0 :(得分:0)

此查询

SELECT 
    a.id, 
    a.name,
    a.v1 AS a_v1,
    ...
    b.v1 AS b_v1, 
    ...
    c.v1 AS c_v1, 
    ...
FROM
    table_a as a,
    table_b as b,
    table_c as c
WHERE
    a.id = b.id
    AND b.id = c.id

会给你这个结果:

----------------------------------------------------------
a.id   a.name   a_v1   a_v2   b_v1   b_v2   c_v1   c_v2

(您可以根据需要命名结果集)

断言:每个表中都存在每个id(否则你可以使用连接或联合)。