在MYSQL中合并多个数据集

时间:2015-04-19 19:45:10

标签: mysql

我在mysql中有一个数据库,有几个不同的表我想创建一个表。

其中三个表(A,B,C)具有相同的主键,而最后一个表具有不同的主键。所以它可能看起来像

表A

ID |电话|地址


表B

ID | WorkPhone |电话|地址


表C

ID |电话| Work_Address |办公电话

最大的问题是尽管ID相同,但有些信息可能会有所不同。 (所以ID" Person1"列中可能有两个不同的电话号码"电话"在三个表中。

对于前三个表,我试图将它们映射到一起,但我的MYSQL中的语法有问题。

这是我到目前为止所拥有的。

create table Total_Finance(

select combined_csv.*, finance.*, total_contribution.*

join

where combined_csv.id == finance.id

inner join 
where total_contribution.nationbuilder_id == combined_csv.nationbuilder_id

inner join 
where total_contribution.nationbuilder_id == finance.nationbuilder_id


);

1 个答案:

答案 0 :(得分:1)

嗨,这是你应该怎么做JOIN sintax

SELECT tableA.*, tableB.*, tableC.*
FROM tableA
INNER JOIN tableB
ON tableA.ID = tableB.ID
INNER JOIN tableC
ON tableA.ID = tableC.ID

这里是SQL小提琴,看看它是如何工作的http://sqlfiddle.com/#!9/d36f8/1

当然,您可以选择要选择的列而不是

 SELECT tableA.*, tableB.*, tableC.*

SELECT tableA.ID, tableA.Phone, ... tableB.Address... tableC.WorkPhone etc

关于JOIN sintax,你应该知道有一个LEFT JOIN,RIGHT JOIN等......你可以在这里看到基础http://www.w3schools.com/sql/sql_join.asp

希望这有点帮助...如果您有任何问题可以随意提问

GL!