sql - 当我们将 () 括号添加到 SQL Server 中的列值时,排序顺序发生了变化
问题描述
我有一个表格,表格中的数据如下所示。
数据的排序应该基于 Code,Model,SequenceNo,Qual1 (Order by Code,Model,SequenceNo,Qual1) 我准备了下面的 SQL 查询,它给出了完美的结果。
SELECT Market
,Year
,Make
,BatchNo
,BatchLineNo
,SequenceNo
,Code
,Model
,Qual1
,Qual2
,TRANSACTION
FROM TABLE1
ORDER BY Code
,Model
,SequenceNo
,Qual1
当事务列的值是 DD 或 DC 时,我必须将括号 () 包含到代码列中结果集。
SELECT Market
,Year
,Make
,BatchNo
,BatchLineNo
,SequenceNo
,
,CASE
WHEN (
TRANSACTION = 'DC'
OR TRANSACTION = 'DD'
)
THEN '(' + Code + ')'
ELSE Code
END AS Code Model
,Qual1
,Qual2
,TRANSACTION
FROM TABLE1
ORDER BY Code
,Model
,SequenceNo
,Qual1
解决方案
为什么不使用您的逻辑创建一个计算列并使用它来订购?
最终(如果你总是按这 4 列排序)你可以事件 CONCAT 4 列并且只使用一列进行排序。
推荐阅读
- java - Java程序没有输出正确的值
- javascript - ajax post 全局函数 vs 为每个请求重复相同的函数
- sql - 访问 sql 以检索满足条件的值的计数
- r - 在 R 中计算时间序列中某个条件的恢复时间
- html - 导航栏问题 - 个人网站需要帮助,需要两个链接来下拉已格式化的代码
- python - 使用python在线从TXT文件中读取1行
- javascript - 发布 api 调用后传播不会停止
- spring-batch - Spring Batch Job 没有进入 STOPPED 状态,应用程序永远不会退出
- node.js - Express JS - 网络连接丢失
- json - SQL SERVER 将 Json 导出到文件