我在mysql中有一个数据库,有几个不同的表我想创建一个表。
其中三个表(A,B,C)具有相同的主键,而最后一个表具有不同的主键。所以它可能看起来像
最大的问题是尽管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
);
答案 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!