【问题标题】:SQL Server 2005: Select One Column If Another Column Is Null or Contains a WordSQL Server 2005:如果另一列为空或包含单词,则选择一列
【发布时间】:2010-11-15 22:29:34
【问题描述】:

我正在尝试使用 BIDS 创建报告。我希望其中一列提供电子邮件地址。我有两个包含电子邮件地址的表格。一个包含客户开始与我们开展业务时提供的原始电子邮件地址。另一个表包含他们在网站上提交的可能更新的(备用)电子邮件地址。

有时原始电子邮件地址使用我们公司的域,因为我的公司用于为没有地址的客户创建电子邮件。

我需要构建一个查询来评估原始电子邮件地址。它需要做两件事:

  1. 如果原始电子邮件地址为空,则需要包含备用电子邮件地址。
  2. 如果原始电子邮件地址包含我们的域 (customer@mydomain.com),则需要包含备用电子邮件地址。
  3. 如果以上两项都不是,需要吐出原来的邮箱地址。

查询将需要吐出这个评估是一个名为电子邮件的列。

这可以吗?我应该改用 BIDS 吗?如果有,是什么方向?

提前感谢您的帮助。

【问题讨论】:

    标签: sql-server sql-server-2005 bids


    【解决方案1】:

    轻松使用 CASE。比如:

    SELECT whatever1, whatever2, CASE
    WHEN originalemail IS NULL THEN alternateemail
    WHEN originalemail like '%domainname%' THEN alternateemail
    ELSE originalemail
    END AS Email
    FROM...
    

    【讨论】:

      【解决方案2】:
      SELECT 
      
       CASE t1.orgEmail
      
         WHEN NULL THEN t2.altEmail
      
         WHEN LIKE '%domainname%' THEN t2.altEmail
      
         ELSE
      
            t1.orgEmail
      
        END AS email
      
      FROM
      
      table1 AS t1, Table2 as t2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-03
        • 1970-01-01
        • 2020-01-01
        • 2011-08-04
        • 2020-07-19
        • 1970-01-01
        相关资源
        最近更新 更多