【问题标题】:Update Table Based on Existing ID with Inner Join & Update使用 Inner Join 和 Update 基于现有 ID 更新表
【发布时间】:2017-04-28 03:42:43
【问题描述】:

我正在尝试从现有表 (wp_postmeta) 中提取数据并将元值插入新表 (cigar_flavor_scoring)。数据应该基于 post_id,我只想从 wp_postmeta 表中提取数据,meta_key 为“caramel”。然后我想获取该值并将其插入到 cigar_flavor_scoring 表的 caramel 列中。

我觉得我很接近了。

 SELECT meta_value
    FROM wp_postmeta
    UPDATE cigar_flavor_scoring
    INNER JOIN cigar_flavor_scoring ON (wp_postmeta.post_id = cigar_flavor_scoring.post_id)
    WHERE meta_key = "caramel"
    SET cigar_flavor_scoring.caramel = wp_postmeta.meta_value

【问题讨论】:

  • 您是在尝试将新数据插入cigar_flavor_scoring,还是尝试更新此表中已有的记录?
  • 我没感觉。
  • @TimBiegeleisen 好吧,行已经存在 post_id 编号列,而不是其余列是空白的。所以我假设我正在更新与插入。
  • 好吧,我想通了,它奏效了:UPDATE cigar_flavor_scoring AS cfs INNER JOIN wp_postmeta AS wpm ON (wpm.post_id = cfs.post_id) SET cfs.woody = wpm.meta_value WHERE meta_key = "woody"

标签: mysql


【解决方案1】:

我猜您正在寻找使用 INNER JOIN 更新表。

请检查此线程 - SQL Server - inner join when updating

【讨论】:

  • 为什么这个答案被否决了?问这个问题的人确实评论说他/她最终最终使用了带有 INNER JOIN 的 UPDATE。这个答案没有提供方向吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
相关资源
最近更新 更多