获取员工详细信息和性别


select employees.emp_no, employees.birth_date, employees.first_name, employees.last_name,
case 
when dept_manager.emp_no IS NOT NULL THEN 'Manager' ELSE 'Employee' END AS Is_Manager
from employees
WHEN employees.gender = 'M' THEN 'Male' ELSE 'Female' END AS 'Gender' 
LEFT JOIN 
dept_manager ON  dept_manager.emp_no = employees.emp_no;

我想让员工了解他们的性别,以及是否是经理。我想我可以在两个条件下使用CASE。在引入第二个条件时,我得到了一个EOF错误。请帮助检查我的代码可能有什么问题。

这应该能在中工作

select employees.emp_no, employees.birth_date, employees.first_name, employees.last_name,
(case when dept_manager.emp_no IS NOT NULL THEN 'Manager' 
ELSE 'Employee' END)Is_Manager
(case when employees.gender = 'M' THEN 'Male' ELSE 'Female' END)Gender 
from employees
LEFT JOIN 
dept_manager ON  dept_manager.emp_no = employees.emp_no;

查询语法错误。

  • FROM子句需要在SELECT子句中的所有列列表之后
  • 为新列Gender添加第二个条件时,还需要在WHEN条件之前写入关键字CASE

以下是正确的语法:

SELECT employees.emp_no, employees.birth_date, employees.first_name, employees.last_name,
CASE WHEN dept_manager.emp_no IS NOT NULL THEN 'Manager' ELSE 'Employee' END AS Is_Manager,
CASE WHEN employees.gender = 'M' THEN 'Male' ELSE 'Female' END AS Gender
FROM employees
LEFT JOIN 
dept_manager ON  dept_manager.emp_no = employees.emp_no;

以下是关于如何在SQL中使用CASE语法的答案。

相关内容

  • 没有找到相关文章

最新更新