【发布时间】:2019-01-23 16:24:40
【问题描述】:
我需要帮助来排序我的结果,可能需要结合案例陈述。请参阅显示现有输出、条件、所需输出的图像。为了方便而在 Excel 中展示,但实际上是在 SQL 中完成的。 ORDER BY 子句是我需要帮助的。
select
distinct
CONCAT(selection.Selid,' - ' ,Selection.Name,' - ', DevOfficer.Description,' - ', SchemeCount.[Number of Schemes],' Schemes - ',case when selection.Project=1 then '[Project] ' when selection.Project=0 then '[Selection] ' else 'Error' end,convert(varchar,selection.lastupdated,103)) [String]
, selection.selid
, selection.lastupdated
,case when selection.Project=1 then '[Project]'
when selection.Project=0 then '[Selection]'
else 'Error' end
,selection.lastupdated
from selection
inner join SelScheme on selection.SelID =selscheme.SelID
inner join DevOfficer on selection.DevOfficer = DevOfficer.DevOfficerID
inner join (select selscheme.selid ,count(selscheme.SchemeID) [Number of Schemes] from SelScheme group by SelScheme.SelID) SchemeCount on schemecount.SelID = Selection.SelID
where selection.masterselid = 0
order by
--selection.lastupdated desc,
case
when selection.Project=1 then '[Project]'
when selection.Project=0 then '[Selection]'
else 'Error' End Desc
,selid desc
,selection.lastupdated
【问题讨论】:
-
表格和代码应以文本形式提交
-
在 order by 语句时,您似乎确实需要一些案例。
ORDER BY Type, CASE WHEN other conditions THEN the next field to order by and so on... -
你能提供表格和数据作为来自sql的文本吗
标签: sql conditional sql-order-by multiple-columns