0

我有一个公司对的数据集,并想检查列出的公司对的一个合作伙伴名称或两个合作伙伴名称是否包含在另一个表的公司列表中。

如果公司名称列表中包含一个或两个合作伙伴,则应在公司对列表的“早期”列中插入值 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(cp.row 2)或 partner22(cp.row 3)或两者(cp.row 3)都包含在公司名称列表中。

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

非常感谢您提前。

4

2 回答 2

1
update Pairs
set EarlyStage = 1 
from Pairs
    inner join Companies on Companies.Company in (Pairs.Partner11, Pairs.Partner22)
于 2013-10-09T10:35:10.393 回答
0

试试这个:

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
于 2013-10-09T10:27:09.087 回答