【发布时间】:2018-04-20 18:51:14
【问题描述】:
我有以下 sql 语句,这正是它应该做的:
select C.Company_RecID, C.Contact_RecID, C.First_Name, C.Last_Name,
C.Title, C.Inactive_Flag, e.Description
FROM dbo.Contact AS C
LEFT OUTER JOIN dbo.Contact_Communication AS e ON C.Contact_RecID = e.Contact_RecID
AND e.Communication_Type_RecID = 1 AND e.Default_Flag = 1
但是,在dbo.contact_communication 中,description 字段的含义取决于communication_type_recID。如果是1,描述是一个电子邮件地址。 4是手机号码,2是直拨号码,14是个人手机号码。
我想更改查询以返回三个额外的列。如果此联系人的记录为 4,则第 8 列将是描述的值,如果此联系人的记录为 2,则第 9 列是描述的值,如果有值,则第 10 列14 个。
【问题讨论】:
-
您可以使用条件聚合来做到这一点。
标签: sql sql-server tsql select