【问题标题】:Putting a MySQL JOIN back into the database instead of just returning the columns将 MySQL JOIN 放回数据库中,而不仅仅是返回列
【发布时间】:2013-01-11 09:07:40
【问题描述】:

我刚收到一个关于我遇到困难的查询的简短问题。我有两张表,我正在尝试将它们非规范化为一张表。

这是两张表:

日期表:

ID | Date

和数据表:

ID | DateID | Data

我想最终得到的是:

ID | DateID | Data | Date

我现在得到的是:

UPDATE dataTable
SET date = dateTable.date 
WHERE `DateID` = `dateTable.id`

但这在语法上是不正确的。如果我使用 JOIN 执行此操作,您如何将数据放回 dataTable 上的 Date 列而不只是返回数据?

谢谢!

【问题讨论】:

  • 您的问题不是 100% 清楚 - 您是要返回连接的数据,还是要根据第二个表中可用的标准更新一个表中的数据?

标签: mysql join sql-update denormalized


【解决方案1】:
UPDATE dataTable data
JOIN dateTable dates on dates.id = data.dataId
SET data.date = dates.date;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多