如果两个表之间的公共列不同,则SQL Server选择连接检测

时间:2018-03-19 21:51:06

标签: sql-server select join

我正在尝试编写一个函数来检查两个具有相同名称和ID值的公共列的表。

表1:CompanyRecords

CompanyRecordsID   CompanyId  CompanyName  CompanyProcessID  
-----------------------------------------------------------
1                  222        Sears        123
2                  333        JCPenny      456

表2:联合公司

JointCompaniesID   CompanyId   CompanyName  ComanyProcessID
-----------------------------------------------------------
3                  222         KMart         123
4                  444         Walmart       001

它们都使用相同的外键CompanyProcessID,值为123。

如何在传递CompanyProcessID时编写一个select语句,以告知同一CompanyId CompanyProcessId是否已更改。

我认为这是两个表WHERE CompanyProcessID

之间的连接

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是你想要的吗?

select max(case when cr.name = jc.name then 0 else 1 end) as name_not_same
from CompanyRecords cr join
     JointCompanies jc
     on cr.ComanyProcessID = jc.ComanyProcessID
where cr.ComanyProcessID = ?