我是 SQL Server 的新手。请帮我解决以下问题。
我有如下表格,
Job Quantity Status
1 100 OK
2 400 HOLD
3 200 HOLD
4 450 OK
我现在想编写一个查询,使所有数量等于或大于 400 且状态为 OK 的作业将首先出现,然后是数量等于或大于 400 且状态为 HOLD 的作业。然后所有数量小于 400 且状态为 OK 的作业将出现,然后数量小于 400 且状态为 HOLD 的作业将出现。
这是我的结果应该如何显示。 (抱歉上面困惑的段落)
Job Quantity Status
4 450 OK
2 400 HOLD
1 100 OK
3 200 HOLD
我该怎么做?有人请帮帮我
最佳答案
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
关于sql-server - 如何合并两个 SELECT 语句的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10691824/