SQL _complex查询

时间:2015-03-13 05:50:05

标签: sql sql-server sql-server-2008

我使用sql server作为数据源。

在表格中,我有email 1, email2, email3等列。

我需要在任一字段中将查询写入搜索记录并显示为New_email。

必须在email1中进行搜索,如果为空,则在email2然后email3进行搜索,结果记录显示为new_email

2 个答案:

答案 0 :(得分:4)

您可以将COALESCEIN运算符一起使用。 Read more about the COALESCE

SELECT
     COALESCE(email1,email2,email3,'defaultvalue') AS SelectedEMail
FROM
    tablename
WHERE
    'youremail@mail.com' IN(eamil1,eamil2,eamil3)
    --more conditions

答案 1 :(得分:0)

您只需选择:

DECLARE @email NVARCHAR(50) = ''
SELECT @email AS Email
FROM TableName 
WHERE @email IN(EmailCol1, EmailCol2, EmailCol3)