Mysql与具有公共列的表合并

时间:2014-11-11 16:02:28

标签: mysql merge

我有:

表1:

  

Id |姓名

表2:

  

Id |量

我想基于公共ID创建一个新表。因此,如果table1和table2中的记录具有匹配的id,则:

表3

  

Id |名字|量

很抱歉,如果之前有人询问过。我是新手,只是想完成这件事

5 个答案:

答案 0 :(得分:1)

为什么不用简单的select语句执行此操作?

选择a.id,a.Name,b.Amount
FROM table1 a,table2 b
WHERE a.id = b.id

答案 1 :(得分:0)

尝试使用JOIN

SELECT table1.id, table1.name, table2.amount
FROM table1
LEFT JOIN table2
ON table1.id=table2.id;

我没有对此进行测试,但我认为它应该可行。

http://www.w3schools.com/sql/sql_join_left.asp

答案 2 :(得分:0)

像这样:

CREATE TABLE tavle_xxx(
id xxx,
name xxx,
amount xxx
);

INSERT IGNORE INTO tavle_xxx
SELECT t1.id, t1.name, t2.Amount
FROM table1 t1, table2 t2
WHERE t1.id=t2.id;

答案 3 :(得分:0)

更新

我想根据公共列“id”合并表,而不是创建第3个表。只需添加“名称列”并将其填充到id为=

的位置

所以我有:

表1:

Id | Name

表2:

Id | Amount

我希望结果是

表2

Id |金额|名称

答案 4 :(得分:0)

如果要使用公共列Id合并table2中table1的Name列,可以通过运行:

来执行此操作
ALTER TABLE table1 ADD Name <dataTypeOfName>;
UPDATE table1, table2 SET table2.Name = table1.Name WHERE table1.Id = table2.Id;

这将在table2中创建一个名为Name的新列,然后在根据列Id执行连接后用table1中的值填充它。