我有两个mysql表具有相同的行,在这两个表上缺少一些信息,现在我需要将这两个表合并为一个具有完整信息的表。
下面是表格的外观:
Table1:
Name | Adres | Postal
------------------------------
Koen | Stationsweg |
| Marktplein | 4342FG表2:
Name | Adres | Postal
------------------------------
| Stationsweg | 4368RT
Bert | Marktplein | 最终的表格需要如下所示:
Name | Adres | Postal
------------------------------
Koen | Stationsweg | 4368RT
Bert | Marktplein | 4342FG发布于 2013-02-28 17:09:31
SELECT MAX(COALESCE(a.Name, b.name)) name,
a.adres,
MAX(COALESCE(a.postal, b.postal)) postal
FROM table1 a
LEFT JOIN table2 b
ON a.adres = b.adres
GROUP BY a.adres如果希望将上述查询的结果插入到另一个表:table3上,请使用INSERT INTO...SELECT
INSERT INTO table3 (name, adres, postal)
SELECT MAX(COALESCE(a.Name, b.name)) name,
a.adres,
MAX(COALESCE(a.postal, b.postal)) postal
FROM table1 a
LEFT JOIN table2 b
ON a.adres = b.adres
GROUP BY a.adreshttps://stackoverflow.com/questions/15131460
复制相似问题