【问题标题】:MySQL Join Table which have had same column name具有相同列名的 MySQL 连接表
【发布时间】: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      |
-------------------------------------------------------

【问题讨论】:

    标签: mysql sql


    【解决方案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提供的解决方案
    猜你喜欢
    • 2016-10-05
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2013-04-19
    • 1970-01-01
    相关资源
    最近更新 更多