连接具有相同列名的MySQL表

7
我想要将这两个有相同列名的表连接起来,以获得以下结果。我该怎么做?
表1(主键:日期)
-------------------------------
|        date         | value |
-------------------------------
| 2015-05-16 03:21:46 |   2   |
-------------------------------

表2,(主要:关键日期)
-------------------------------
|        date         | value |
-------------------------------
| 2015-05-16 03:21:46 |   3   |
-------------------------------

期待最终结果
-------------------------------------------------------
|        date         | value(table1) | value(table2) |
-------------------------------------------------------
| 2015-05-16 03:21:46 |       2       |        3      |
-------------------------------------------------------
2个回答

16

在引用列时,只需添加表名:

SELECT date, table1.value as value1, table2.value as value2
    FROM table1
    JOIN table2 USING (date)

这将会给你以下结果:

-----------------------------------------
|        date         | value1 | value2 |
-----------------------------------------
| 2015-05-16 03:21:46 |   2    |   3    |
-----------------------------------------

你好,我尝试了你提供的SQL语句,但是出现了错误。 - Eric T
#1054 - 'table1.value'在字段列表中未知列。顺便说一句,Tony已经给出了完整的答案。 - Eric T

1
SELECT t1.date, t1.value as value1, t2.value as value2
FROM table1 t1
JOIN table2 t2 ON t1.date = t2.date

1
这个可行,但是当字段名称特别相同时,只需使用@Timo提供的解决方案即可。 - asiby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接