Pra*_*yak 0 sql t-sql sql-server sql-server-2008
我正在做一个项目,我有一个奇怪的要求.
我有一个表A与领域(TechID(Primary Key), Orders (INTEGER NUMBER),Name (Varchar)).
Orders可以是0, 1, 2, 3, .......我的任务的值是显示按Orders字段排序的表的内容.首先显示Orders字段具有值的行1,然后依次显示其余的行.值0必须在末尾显示值.如果所有Orders字段的值都为0,我需要按TechID字段对表进行排序.
关于实现这个的任何想法?这可以通过SQL查询实现,还是应该为此编写T-Sql脚本?
这很简单:
select *
from A
order by case Orders -- 1. Orders values
when 0 then 2 -- of zero collate after
else 1 -- non-zero Orders values
end , --
Orders , -- 2. Then collate by Orders value proper
TechID -- 3. Then by TechID
Run Code Online (Sandbox Code Playgroud)