使用CASE&COALESCE

use*_*140 2 case coalesce sql-server-2008

这种语法只给我一个无用的错误

mentorname附近的语法不正确

我该如何更新以强制显示结果?

SELECT COALESCE(case when
            mentorname LIKE '%Med%' THEN 'MedTronics' end
            mentorname LIKE '%Zi%' THEN 'Zinamice' end
            , 'Total') As [Prov Source]
Run Code Online (Sandbox Code Playgroud)

来自database1

Rad*_*hiu 6

试试这个:

SELECT COALESCE(CASE 
                    WHEN mentorname LIKE '%Med%' 
                        THEN 'MedTronics'
                    WHEN mentorname LIKE '%Zi%' 
                        THEN 'Zinamice' 
               END
            , 'Total') As [Prov Source]
Run Code Online (Sandbox Code Playgroud)

虽然你可以简化查询并COALESCE完全摆脱,只留下CASE:

SELECT
    CASE 
        WHEN mentorname LIKE '%Med%'
            THEN 'MedTronics'
        WHEN mentorname LIKE '%Zi%'
            THEN 'Zinamice'
        ELSE 'Total'
    END AS [Prov Source]
Run Code Online (Sandbox Code Playgroud)