Я хочу получить номер электронной почты, телефона и мобильного телефона каждого сотрудника.
ContactDetailsType
содержит Label
, то есть электронную почту, телефон, факс ... и ContactDetails
содержит ContactDetailsTypeId
(идентификатор ContactDetailsType
) и Info
со значением номера телефона (например).
SELECT Concat(Concat(E.[firstname], ' '), E.[lastname]) AS full_name,
(SELECT cc.info
FROM [contactdetails] cc
LEFT JOIN [contactdetailstype] cd
ON cd.contactdetailstypeid = cc.contactdetailstypeid
WHERE cd.label = 'Phone') AS phone,
CDC.label,
CDT.label,
CD.info
FROM [employee] [E]
LEFT JOIN [af_adminfile] [AFA]
ON E.adminfileid = AFA.adminfileid
LEFT JOIN [af_contactdetails] [AFC]
ON AFC.adminfileid = AFA.adminfileid
LEFT JOIN [contactdetails] [CD]
ON CD.contactdetailsid = AFC.contactdetailsid
LEFT JOIN [contactdetailscategory] [CDC]
ON CDC.contactdetailscateroryid = CD.contactdetailscategoryid
LEFT JOIN [contactdetailstype] [CDT]
ON CDT.contactdetailstypeid = CD.contactdetailstypeid
Я попробовал следующий запрос, чтобы получить телефон, но получаюследующая ошибка:
Подзапрос возвратил более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.