我有一个返回员工的查询:
Name Form
Bob abc
Bob gfd
Bob fgf
John abc
Gavin abc
Jessie ala
Jessie asf
我怎么说如果员工的abc存在,那么结果=是,如果abc不存在那么没有? 我希望看到的是:
Name Result
Bob Yes
John Yes
Gavin Yes
Jessie No
答案 0 :(得分:3)
SQL Server 2000+,使用:
SELECT e.name,
COALESCE(MAX(CASE WHEN e.form = 'abc' THEN 'Yes' END), 'No') AS result
FROM EMPLOYEES e
GROUP BY e.name
如果没有任何表单值匹配“abc”,则MAX部分将返回NULL,COALESCE捕获返回“否”。