在下面的SQL查询中需要帮助

时间:2018-12-07 07:41:27

标签: sql-server

如果雇员角色='雇员'和(雇员角色='mgr'或雇员角色='导演'或雇员角色='ceo'),则为“否”。 Descrition:如果雇员只有一个角色,即雇员需要将标志标记为“否”,则雇员有两个以上的角色需要使用标志“是”来获取详细信息。

员工表中的样本数据:

empno   ename   erole
10  a   emp
10  a   mgr
10  a   dir
10  a   ceo
11  b   emp
12  c   mgr
12  c   emp
13  d   emp
13  d   ceo
14  e   emp

需要如下输出:

empno ename Flag 
10    a     yes 
11    b     No 
12    c     yes 
13    d     yes 
14    e     No

1 个答案:

答案 0 :(得分:1)

使用CASE检查计数

SELECT empno, ename,
    CASE WHEN  COUNT(*) > 1 THEN 'Yes'
    ELSE 'No'
    END as Flag
FROM table
GROUP BY empno, ename