我有一个名为 Member_Id 的表,其中有一个名为 Member_ID_Type 的列。下面的 select 语句从同一个表中返回另一列 id_value 的值。select 语句中表的连接位于通用 id 列上。该表中可能有多个具有相同通用 ID 的条目。
我想调整 select 语句,使其返回 member_id_type 等于“7”的条目的 id_values。但是,如果这是 null 那么我想返回 member_id_type 等于 '1' 的记录
所以以前我有一个关于连接的条件(下面注释掉),但它只返回了 member_id_type 等于“7”的记录,否则返回 null。
我想我可能必须在这里使用 case 语句,但我不能 100% 确定如何在这种情况下使用它
SELECT TOP 1 cm.Contact_Relation_Gid,
mc.Universal_ID,
mi.ID_Value,
cm.First_Name,
cm.Last_Name,
cm.Middle_Name,
cm.Name_Suffix,
cm.Email_Address,
cm.Disability_Type_PKID,
cm.Race_Type_PKID,
cm.Citizenship_Type_PKID,
cm.Marital_Status_Type_PKID,
cm.Actual_SSN,
cm.Birth_Date,
cm.Gender,
mc.Person_Code,
mc.Relationship_Code,
mc.Member_Coverage_PKID,
sc.Subscriber_Coverage_PKID,
FROM Contact_Member cm (NOLOCK)
INNER JOIN Member_Coverage mc (NOLOCK)
ON cm.contact_relation_gid = mc.contact_relation_gid
AND mc.Record_Status = 'A'
INNER JOIN Subscriber_Coverage sc (NOLOCK)
ON mc.Subscriber_Coverage_PKID = sc.Subscriber_Coverage_PKID
AND mc.Record_Status = 'A'
LEFT outer JOIN Member_ID mi ON mi.Universal_ID = cm.Contact_Gid
--AND mi.Member_ID_Type_PKID='7'
WHERE cm.Contact_Relation_Gid = @Contact_Relation_Gid
AND cm.Record_Status = 'A'