如何加入 sql 服务器中的多个列
How to join on multiple columns in sql server
我有一个名为 hierarchylevel 和 Resourcelvel 的 table,数据如下所示:
等级
NTLogin PreferredName NTLevel1 NTLevel2 NTLevel3 NTLevel4 NTLevel5
Sam_peter Peter, Sam Geroge_Sam Tom_Grifith James_P Scott_Olsz Todd_L
Temuzin_P P,Temuzin George_Sam Tom_Grifith James_P Scott_Olsz Todd_L
资源级别
IndusName NTLogin PreferredName
HCMR James_P P, James
TTBS Scott_Olsz Olsz, Scott
DAOP George_Sam Sam, George
BFSI Prat_Matt Matt, Prat
现在我想获取 Indusname,其中来自 Resourcelevel 的 Ntlogin 在 HierarchyLevel 中的任一级别都匹配。
例如,上述示例数据的输出应如下所示:
IndusName NTLogin
HCMR James_P
TTBS Scott_Olsz
DAOP George_Sam
SELECT r.IndusName, r.NTLogin
FROM ResourceLevel r
INNER JOIN HierarchyLevel h
ON r.NTLogin IN (h.NTLevel1, h.NTLevel2, h.NTLevel3, h.NTLevel4, h.NTLevel5)
或
ON r.NTLogin = h.NTLevel1 OR r.NTLogin = h.NTLevel2 OR r.NTLogin = h.NTLevel3 OR r.NTLogin = h.NTLevel4 OR r.NTLogin = h.NTLevel5
您可以使用任何逻辑条件连接两个表。
我有一个名为 hierarchylevel 和 Resourcelvel 的 table,数据如下所示:
等级
NTLogin PreferredName NTLevel1 NTLevel2 NTLevel3 NTLevel4 NTLevel5
Sam_peter Peter, Sam Geroge_Sam Tom_Grifith James_P Scott_Olsz Todd_L
Temuzin_P P,Temuzin George_Sam Tom_Grifith James_P Scott_Olsz Todd_L
资源级别
IndusName NTLogin PreferredName
HCMR James_P P, James
TTBS Scott_Olsz Olsz, Scott
DAOP George_Sam Sam, George
BFSI Prat_Matt Matt, Prat
现在我想获取 Indusname,其中来自 Resourcelevel 的 Ntlogin 在 HierarchyLevel 中的任一级别都匹配。
例如,上述示例数据的输出应如下所示:
IndusName NTLogin
HCMR James_P
TTBS Scott_Olsz
DAOP George_Sam
SELECT r.IndusName, r.NTLogin
FROM ResourceLevel r
INNER JOIN HierarchyLevel h
ON r.NTLogin IN (h.NTLevel1, h.NTLevel2, h.NTLevel3, h.NTLevel4, h.NTLevel5)
或
ON r.NTLogin = h.NTLevel1 OR r.NTLogin = h.NTLevel2 OR r.NTLogin = h.NTLevel3 OR r.NTLogin = h.NTLevel4 OR r.NTLogin = h.NTLevel5
您可以使用任何逻辑条件连接两个表。