解决方法
有可能与Jens的答案(1)有相似之处,但结果却略有不同.
鉴于现有表格:
create table somedata (id integer,name char(20)); insert into somedata values ( 1,'Tim' ); insert into somedata values ( 2,'Bob' ); insert into somedata values ( 3,'Joe' );
如果您知道所需的短订单(通过处理表或其中的某些查询结果),请创建一个临时表,该表具有一些键值以匹配原始表中的所需行,然后是排序顺序数据:
create table #sortorder( id integer,sortvalue integer );
在临时表中设置sortvalue字段以包含所需的顺序(它可以是任何可排序的数据类型 – 不必是整数):
insert into #sortorder values ( 1,15 ); insert into #sortorder values ( 2,12 ); insert into #sortorder values ( 3,5 );
然后使用针对提供排序顺序的表的连接生成结果:
select sd.* from somedata sd,#sortorder so where sd.id = so.id order by so.sortvalue;
原文地址:https://www.jb51.cc/delphi/239360.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。