如果条件满足,则更新表。 (将表b中的值更新为a)所需的相应值[重复]

Posted

技术标签:

【中文标题】如果条件满足,则更新表。 (将表b中的值更新为a)所需的相应值[重复]【英文标题】:Update table if conditions met. (update the value from table b to a) corresponding value required [duplicate] 【发布时间】:2015-11-25 03:11:16 【问题描述】:

我有一个表 a,其中有字段“日期”、“时间”、成本和 order_id

表 b 包含字段 'year' 'month' 'hour' 'cost' 和 order_id 字段。

两个表都与“order_id”字段链接。如果两个表中的年、月、小时和 order_id 相同,我想更新表 a,并将表 b 中的相应值更新为表字段“成本”

我已经使用了这个语句,但是查询不起作用?有什么问题?我需要帮助

UPDATE item a, cost b
    SET a.cost = b.cost
    WHERE a.order_id = b.order_id
    AND YEAR(a.date) = b.YEAR
    AND month(a.date) = b.month
    AND hour(a.time) = b.hour

【问题讨论】:

【参考方案1】:
UPDATE item a
JOIN cost b ON a.order_id = b.order_id
           AND YEAR(a.date) = b.YEAR
           AND month(a.date) = b.month
           AND hour(a.time) = b.hour
SET a.cost = b.cost

【讨论】:

感谢 juergen 的快速支持,我有超过 20 条记录需要时间来更新。我一完成就会回复你。最好的部分是查询正在运行..... 成功了!万岁!非常感谢 juergen d

以上是关于如果条件满足,则更新表。 (将表b中的值更新为a)所需的相应值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL:如何将一个表中某个字段的值全部更新到另外一个表相应的字段

MYSQL怎么将表中的A字段值更新B字段值?求sql语句

sql中如何更新符合条件的值

mysql如何根据一列值更新另一列的值?

两个表,根据条件批量更新其中一个表的某一列数据。(高分求救,在线等待。)

ORCAL Merge into用法总结