我是SQL Server的新手.请帮我解决以下问题.
我有一张桌子如下,
Job Quantity Status
1 100 OK
2 400 HOLD
3 200 HOLD
4 450 OK
Run Code Online (Sandbox Code Playgroud)
我现在想以这样一种方式编写一个查询:所有状态为OK等于或大于400的作业状态为OK,然后出现状态为HOLD且Quanitty等于或大于400的作业.然后,将显示所有状态为OK且数量少于400的作业,然后出现状态为HOLD的数量少于400的作业.
这是我的结果应该出现的方式.(抱歉上面这个令人困惑的段落)
Job Quantity Status
4 450 OK
2 400 HOLD
1 100 OK
3 200 HOLD
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?有人请帮帮我
SELECT Job, Quantity, Status
FROM myTable
ORDER BY CASE WHEN Quantity >= 400 AND Status = 'OK' THEN 1
WHEN Quantity >= 400 AND Status = 'Hold' THEN 2
WHEN Status = 'OK' THEN 3
ELSE 4
END
Run Code Online (Sandbox Code Playgroud)