Sql server 2008 用例&;合并

Sql server 2008 用例&;合并,sql-server-2008,case,coalesce,Sql Server 2008,Case,Coalesce,这种语法只是给了我一个毫无帮助的错误 名称附近的语法不正确 我应该更新什么来强制显示结果 SELECT COALESCE(case when mentorname LIKE '%Med%' THEN 'MedTronics' end mentorname LIKE '%Zi%' THEN 'Zinamice' end , 'Total') As [Prov Source] 从数据库1中尝试以下操作: SELECT COAL

这种语法只是给了我一个毫无帮助的错误

名称附近的语法不正确

我应该更新什么来强制显示结果

SELECT COALESCE(case when
            mentorname LIKE '%Med%' THEN 'MedTronics' end
            mentorname LIKE '%Zi%' THEN 'Zinamice' end
            , 'Total') As [Prov Source]
从数据库1中尝试以下操作:

SELECT COALESCE(CASE 
                    WHEN mentorname LIKE '%Med%' 
                        THEN 'MedTronics'
                    WHEN mentorname LIKE '%Zi%' 
                        THEN 'Zinamice' 
               END
            , 'Total') As [Prov Source]
尽管您可以简化查询并完全取消
合并
,只保留
案例

SELECT
    CASE 
        WHEN mentorname LIKE '%Med%'
            THEN 'MedTronics'
        WHEN mentorname LIKE '%Zi%'
            THEN 'Zinamice'
        ELSE 'Total'
    END AS [Prov Source]

为了保持简单,您可以使用嵌套的
CASE
语句完成同样的事情,并避免
合并
完全

SELECT 
    [Prov Source] = 
        CASE WHEN mentorname LIKE '%Med%' THEN 
            'MedTronics' 
        ELSE
            CASE WHEN mentorname LIKE '%Zi%' THEN 
                'Zinamice' 
            ELSE
                'Total'
            END
        END

else
替换为
后面的
'medtronics'
结尾的第一个
结尾
,但您显然有一个else。当
出现在@xQbert之前时,在其附近添加一个产生错误语法的
LIKE@RaduGheorghiu必要吗?没有。但是它用OP熟悉的数据说明了正确的
CASE
语句结构,而格式错误的
CASE
语句是他的问题的根源。