如何解决案例陈述并加入
需要帮助。我被困住了。问题是
-加入DEPT_EMP和DEPARTMENT AND EMPLOYEE并显示“雇员”全名,如果“雇员的性别”为M,则显示为“男”,如果“ F”,则显示为女性,并将其命名为“ Gender_Column”。
到目前为止,这是我想出的,但是我收到错误消息“消息156,级别15,状态1,行44 关键字“ CASE”附近的语法不正确”
SELECT CONCAT(e.FIRST_NAME,' ',e.LAST_NAME) AS Full_name,e.Gender
From dept_emp de
JOIN departments d
ON de.dept_no = d.dept_no
JOIN employees e
ON de.emp_no = e.emp_no
CASE
WHEN E.gender = 'm' Then 'male'
WHEN E.gender = 'f' Then 'female'
END
解决方法
需要做conditional column join时,在CASE WHEN
之后指定JOIN
。
用于过滤列的 CASE WHEN
条件应该紧跟在 SELECT column
之后并带有逗号,例如
SELECT player_name,weight,CASE WHEN weight > 250 THEN 'heavy-weight'
ELSE 'light-weight'
END AS weight_group
FROM football_players
所以在你的问题中,解决方案应该是
SELECT CONCAT(e.FIRST_NAME,' ',e.LAST_NAME) AS Full_name,e.Gender,CASE
WHEN E.gender = 'm' THEN 'male'
WHEN E.gender = 'f' THEN 'female'
END AS Gender_Column
FROM dept_emp de
JOIN departments d
ON de.dept_no = d.dept_no
JOIN employees e
ON de.emp_no = e.emp_no
,
您需要将案例放入选择中,而不是加入中。
SELECT CONCAT(e.FIRST_NAME,CASE WHEN E.gender = 'm' Then 'male' WHEN E.gender = 'f' Then 'female' END as Gender_Text
From dept_emp de JOIN departments d ON de.dept_no = d.dept_no JOIN employees e ON de.emp_no = e.emp_no
也没有列名别名,但这不是错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。