1

我的 SQL 导出字段上有一行,如果它与姓氏中的“AMA”完全匹配,我正在尝试删除字段中的返回空白值。但是,当我使用当前代码导出文件时,没有“AMA”作为姓氏的名称将被完全清除。

,Max(
    Orders.ShipFirstName
    + ' ' +  
        CASE Orders.ShipLastName
            WHEN 'AMA' THEN ''
        END
) As ShipFullName

现在,如果某人是“Ray Miller”,ShipFullName将返回为空白。但如果他们的名字是“Ray AMA”,那么他们的名字将返回为“Ray”。我想要它,以便在姓氏字段中找不到 AMA 时返回“Ray Miller”。

4

3 回答 3

3
CASE Orders.ShipLastName
    WHEN 'AMA' THEN ''
    ELSE Orders.ShipLastName
END
于 2013-01-25T01:12:28.637 回答
3

为避免出现尾随空白,我会这样做:

max(
    case 
        when Orders.ShipLastName = 'AMA' then Orders.ShipFirstName
        else Orders.ShipFirstName + ' ' + Orders.ShipLastName
    end
) as ShipFullName
于 2013-01-25T01:16:23.410 回答
0
,Max(
    Orders.ShipFirstName
    + ' ' +  IF(Orders.ShipLastName = 'AMA', '', Orders.ShipLastName)
) As ShipFullName
于 2013-01-25T01:15:23.690 回答