首页 > 解决方案 > 使用条件更新 sql 查询

问题描述

我有两个表:平均表

LSP Runid
ABC_XYZ 123
DEF_XYZ 456

数据表

LSP Runid
RECON_ABC_XYZ 
RECON_DEF_XYZ

我的查询是:

UPDATE DATA INNER JOIN
       AVERAGE
       ON DATA.LSP = AVERAGE.LSP
    SET DATA.Runid = AVERAGE.Runid

我无法更新我的数据表

标签: sql

解决方案


LSP 数据不匹配。您需要将 RECON_ 添加到 AVERAGE 表以匹配 DATA 表中的记录。假设它们都以 RECON_ 开头,您可以在 SQL Server 2012 + 中使用以下查询

UPDATE DATA INNER JOIN
   AVERAGE
   ON DATA.LSP = CONCAT('RECON_', AVERAGE.LSP)
SET DATA.Runid = AVERAGE.Runid

推荐阅读