无法将两个表合并为一个表

时间:2014-03-31 20:54:38

标签: mysql sql database

我正在尝试将两个表合并为一个,但它不能很好地工作...... 一个表称为Lat,另一个表称为Lng,列具有相同的名称。

所以,Lat Lat和Lng Lng(表格Lat,列Lat - 表Lng,列Lng)

目前,我正在使用以下代码(在php中)

$query  = "INSERT INTO Combo (COMLAT, COMLNG) SELECT * FROM Lat UNION ALL SELECT * FROM Lng";

但它不起作用,它只将值导入Combo表的第二列:

    +----+--------+------------+
| ID | COMLAT | COMLNG     |
+----+--------+------------+
| 50 | 1      | 52.2522863 |
| 51 | 1      | 6.20641011 |
| 53 | 1      | 6.20641011 |
| 54 | 1      | 52.2522863 |
| 56 | 1      | 6.20641011 |
| 57 | 1      | 52.2522863 |
| 59 | 1      | 6.20641011 |
| 60 | 1      | 52.2522863 |
| 62 | 1      | 52.2522863 |
| 63 | 1      | 6.20641011 |
| 65 | 1      | 52.2522863 |
| 66 | 1      | 6.20641011 |
| 68 | 1      | 52.2522863 |
| 69 | 1      | 6.20641011 |
+----+--------+------------+

我以为

(COMLAT, COMLNG)

表示您选择COMLAT和COMLNG列? 或者我忘了/错过了什么?

2 个答案:

答案 0 :(得分:0)

INSERT INTO Combo (COMLAT, COMLNG) 
SELECT A.* FROM Lat A 
UNION ALL 
SELECT B.* FROM Lng B

答案 1 :(得分:0)

是的,让它上班。 它是:

INSERT INTO Combo (COMLAT, COMLNG)
SELECT Lat, Lng FROM Lat, Lng

不确定为什么会奏效,但我真的认为我需要UNION

非常感谢!