【发布时间】:2020-03-18 02:17:58
【问题描述】:
select concat(first_name,' ',last_name) as name,J.job_title, salary, J.min_salary, J.max_salary,(case
when salary >= (J.min_salary + (J.max_salary - J.min_salary)*0.9) then 'SS'
when salary >= (J.min_salary + (J.max_salary - J.min_salary)*0.7) then 'S'
when salary >= (J.min_salary + (J.max_salary - J.min_salary)*0.5) then 'A'
when salary >= (J.min_salary + (J.max_salary - J.min_salary)*0.3) then 'B'
when salary >= (J.min_salary + (J.max_salary - J.min_salary)*0.1) then 'C'
else 'D' end) as salary_level, salary_score = case salary_level
when 'SS' then 1
when 'S' then 2
when 'A' then 3
when 'B' then 4
when 'C' then 5
when 'D' then 6 end from employees E inner join jobs J on E.job_id = J.job_id order by salary_score
系统在案例方法“salary_score = case sale_level ...”中显示无效的列名“salary_level”
【问题讨论】:
-
请不要发布图片。需要文字。
-
您不能在同一个 select 子句中引用计算列。重复计算列的代码或使其成为子查询。
标签: sql sql-server database sorting error-handling