sql - 在 SQL 中应用动态 between 语句
问题描述
我有两个 SQL 表。员工和薪资范围。我正在使用 TSQL
雇员:
Name|ID|Salary
John|1 |1000
Jack|2 |5000
Mark|3 | 0
薪资范围:
PayGrade|SalaryMin|SalaryMax
Low |0 |999
Med |1000 |4999
High |5000 |
如何在 SQL 中实现以下目标?我知道在这些值之间使用 CASE 时我将如何做到这一点,例如Case when Salary between 0 and 1000 then 'Low' as Paygrade
。
我如何加入表格并“动态”应用此转换,例如当薪金等级中的值发生变化时,我的计算也可以。
输出:
Name|PayGrade|Salary
John|Med |1000
Jack|High |5000
Mark|Low |0
解决方案
您的思考过程是正确的,除了您需要将“BETWEEN”子句放在 WHERE 子句而不是 SELECT 中。
示例 sql -
select name, salary, Paygrade from employees e join salaryband s
where e.salary between s.salarymin and s.salarymax;
推荐阅读
- maven - 没有 settings.xml 的声纳 Maven 插件
- facebook - 如何在 facebook 分析服务器到服务器中处理用户
- javascript - 如何将 jQuery UI 所有选定范围(不仅是最小值和最大值)加载到数组中
- azure - Hive Table 迁移到不同的环境
- ruby-on-rails - 如何根据参数验证 Rails 模型?
- ssh - 快照恢复后,Google Cloud VM 上的连接被拒绝
- linux - 如果未评估条件以向用户显示帮助信息,则为 Shell 脚本
- python - “DbgCommand()”也能得到超链接的结果吗?
- ag-grid - 仅过滤,不输入文本或数字
- javascript - 如何仅使用 jquery 提交上传图像的 base64 字符串