You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle SQL:比对两表数据并为Valid列设置Yes/No值

解决方案

场景1:Excel/Google Sheets

在Valid列的第一个数据单元格(假设表头行是第1行,目标单元格为C2)输入以下公式,下拉填充即可:

=IF(B2="","",IF(COUNTIF(A:A,B2)>0,"Yes","No"))

也可以用MATCH函数实现相同效果:

=IF(B2="","",IF(ISNUMBER(MATCH(B2,A:A,0)),"Yes","No"))

逻辑说明:先判断Concat2列是否为空,空值则让Valid列保持空白;若不为空,检查该值是否在CONCAT1列存在,存在填Yes,否则填No。

场景2:SQL数据库

根据不同数据库类型,使用对应的语句更新Valid列:

MySQL/MariaDB
UPDATE Table2 t2
LEFT JOIN Table1 t1 ON t2.Concat2 = t1.CONCAT1
SET t2.Valid = CASE 
    WHEN t2.Concat2 IS NULL THEN NULL
    WHEN t1.CONCAT1 IS NOT NULL THEN 'Yes'
    ELSE 'No'
END;
SQL Server
UPDATE t2
SET Valid = CASE 
    WHEN t2.Concat2 IS NULL THEN NULL
    WHEN EXISTS(SELECT 1 FROM Table1 t1 WHERE t1.CONCAT1 = t2.Concat2) THEN 'Yes'
    ELSE 'No'
END
FROM Table2 t2;

逻辑说明:通过判断Concat2的值是否在Table1的CONCAT1列中存在,用CASE分支赋值Yes/No,空值则让Valid列保持空白。

内容的提问来源于stack exchange,提问作者Lazy Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:12:21