Sql 将一个表的名称与另一个表的列表进行比较

Sql 将一个表的名称与另一个表的列表进行比较,sql,sql-server,string-comparison,Sql,Sql Server,String Comparison,我有一个公司对的数据集,希望检查上市公司对的一个或两个合伙人名称是否包含在另一个表的公司列表中 如果公司名称列表中包含一个或两个合伙人,则应在公司对列表的“EarlyStage”列中插入值1,否则为0 公司名称列表如下所示 Partner 1View 1-Net 3T A&L 公司对列表如下所示,包括带有新插入值的“EarlyStage”列 Partner11 | Partner22 | EarlyStage Unisys | Campu |

我有一个公司对的数据集,希望检查上市公司对的一个或两个合伙人名称是否包含在另一个表的公司列表中

如果公司名称列表中包含一个或两个合伙人,则应在公司对列表的“EarlyStage”列中插入值1,否则为0

公司名称列表如下所示

Partner

1View
1-Net
3T
A&L
公司对列表如下所示,包括带有新插入值的“EarlyStage”列

Partner11  |  Partner22  |  EarlyStage

Unisys     |  Campu      |      0
A&L        |  Silva      |      1
Jet        |  3T         |      1
1-Net      |  1View      |      1
第一行的“EarlyStage”值应为0,因为合作伙伴Unisys和Campu均不包括在公司名称列表中。 在其他行中,“EarlyStage”的值应为1,因为partner11(第2行)或partner22(第3行)或两者(第3行)都包含在公司名称列表中

我真的很感激任何帮助来解决这个问题

提前非常感谢。

试试这个:

INSERT INTO EarlyStage
SELECT
CASE WHEN Partner11 in (select name from Partner) 
THEN 1
WHEN Partner22 in (select name from Partner)
THEN 1
ELSE 0
END

建议您在回答中至少添加一个简短的描述,说明代码为什么工作。感谢您的回答。您的代码运行良好。如果合作伙伴的名字不包含在公司名单中,它只会错过早期阶段0。@ USER 713440,我会考虑将所有的记录预先设定为0。
update Pairs
set EarlyStage = 1 
from Pairs
    inner join Companies on Companies.Company in (Pairs.Partner11, Pairs.Partner22)