首页 > 解决方案 > 根据另一列中的存在更新列

问题描述

我有两个 SQL 表。我试图根据检测到值的存在来有条件地更新第二个,在本示例中为 URL,在第一个中。

第一个表Applications具有以下数据:

URL
-------------------------     
http://stackoverflow.com        
http://stackoverflow.com       

在第二个表中Modernize,我有以下数据:

URL                            FieldToUpdate
--------------------------------------------
http://stackoverflow.com        
http://stackoverflow.com        

预期的结果是,如果在第一个表中检测到 URL ApplicationFieldToUpdate那么它将在其中设置文本“是”。否则,它将设置FieldToUpdate为否。

标签: sqlsql-server

解决方案


使用join

update t
    set fieldtoupdate = (case when f.url is null then 'N' else 'Y' end)
from secondtable t left join
     firsttable f
     on t.url = f.url

推荐阅读