具有相同列名的 MySQL 连接表
Posted
技术标签:
【中文标题】具有相同列名的 MySQL 连接表【英文标题】:MySQL Join Table which have had same column name 【发布时间】:2015-05-18 03:04:19 【问题描述】:我想将这两个具有相同列名的表连接起来,以获得如下的最终结果。我该怎么做?
表 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 |
-------------------------------------------------------
【问题讨论】:
【参考方案1】:只需在对列寻址时添加表名:
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。它引发了错误。 #1054 - “字段列表”中的未知列“table1.value”。顺便说一句,托尼有一个完整的答案。【参考方案2】:SELECT t1.date, t1.value as value1, t2.value as value2
FROM table1 t1
JOIN table2 t2 ON t1.date = t2.date
【讨论】:
这个可行,但是当字段名称特别相同时,只需使用@Timo提供的解决方案以上是关于具有相同列名的 MySQL 连接表的主要内容,如果未能解决你的问题,请参考以下文章
当两个表具有相同的 dist 和 sort 键,但列名不同时,Redshift 是不是执行合并连接?