条件选择语句

时间:2014-08-08 22:05:00

标签: sql

使用AdventureWorks数据库,我需要生成一个职位列表列表以及分配给每个职位的员工数量。但这不是我的担忧。

当OrganizationLevel为2或更低时,我需要将Job Title字段大写。但是,我还需要一个条件,限制作业标题在3或以下时显示。你能帮我么?这是一次(不正确的)尝试 - 我知道这是错误的,我几乎放弃了,但我希望它能帮助解释我在这里想要实现的目标。

SELECT distinct JobTitle, count(JobTitle) as CountOf from HumanResources.Employee 
WHERE (OrganizationLevel < 3) 
GROUP BY JobTitle 
ELSE IF (OrganizationLevel < 2) select distinct UPPER(JobTitle); 

1 个答案:

答案 0 :(得分:0)

SELECT 
  CASE 
    WHEN OrganizationLevel < 2 THEN JobTitle 
    ELSE UPPER(JobTitle) 
  END as JobTitle, 
  count(*) as CountOf 
FROM HumanResources.Employee 
WHERE OrganizationLevel < 3
GROUP BY 
  CASE 
    WHEN OrganizationLevel < 2 THEN JobTitle 
    ELSE UPPER(JobTitle) 
  END