Я пытаюсь вытащить данные в новый столбец, если другой столбец равен определенному значению.
Мои данные представляют собой разные телекоммуникационные значения, хранящиеся в том же столбце, с другим столбцом дескриптора, указывающим, является ли это адресом электронной почты или домашним телефоном, мобильным телефоном и т. д. Я хочу поместить электронную почту в столбец электронной почты, домашний телефон в столбец домашнего телефона и мобильный телефон в свой собственный колонка и т.д.
Я начал с CASE, но не знаю, как расширить его, чтобы использовать значение во втором столбце:
select TOP 20
BF.fileID,
PT.Patient_DateOfBirth as DOB,
ContactType =
CASE CONT.Patient_Telecom_Use
WHEN 'EM' THEN 'Email'
WHEN 'HP' THEN 'HomePh'
ELSE 'otherContact'
END
-- 'EM' is email, 'HP' is home phone, etc, need to figure out how to select CONT.Patient_Telecom_value into 'email' etc
from
[BaseFile] BF
INNER JOIN [Patient] as PT
ON BF.[fileId] = PT.[FileId]
INNER JOIN [PatientTelecomunication] as CONT
ON BF.[fileId] = CONT.[FileId]
Если бы я писал это как гипотетическое утверждение IF-THAN, я бы сказал:
IF
Patient_Telecom_Use='EM'
THEN select Patient_Telecom_value as 'email'
Спасибо!