首页 新闻 会员 周边

SQL排序问题

0
悬赏园豆:5 [待解决问题]

关联条件是  AUBEL=AUBEL_R and AUPOS=AUPOS_R

最后想要的结果是:按[rnumb]字段目前的序号为:1,3,2,4,5,6,8,7

就是关联字段的负数放在正数的后面紧邻

下面为要排序后的图片:

CTRA王大大的主页 CTRA王大大 | 初学一级 | 园豆:30
提问于:2014-10-08 11:17
< >
分享
所有回答(3)
0

加上where rnumb != 7

union

select ...... where rnumb = 7

刘宏玺 | 园豆:14020 (专家六级) | 2014-10-08 11:35

看不懂问题?

支持(0) 反对(0) CTRA王大大 | 园豆:30 (初学一级) | 2014-10-08 11:36

@凡图: 仔细看了下就是关联字段的负数放在正数的后面紧邻 这句话有点不懂,开始还以为是:1 2 3 4 5 6 8 7这个顺序呢

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2014-10-08 11:39

@刘宏玺: 现在看懂了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2014-10-08 11:40

@刘宏玺: 这个怕是要写C#代码来实现了,sql实现的代价太高了

支持(0) 反对(0) 刘宏玺 | 园豆:14020 (专家六级) | 2014-10-08 11:45

@刘宏玺: 我上传了排序好的图片

支持(0) 反对(0) CTRA王大大 | 园豆:30 (初学一级) | 2014-10-08 11:50
0
select rnumb,aubel,aupos,aubel_r,aupos_r,pt_pcurr from(
select *,case when rtrim(AUBEL_R)='' then  AUBEL else AUBEL_R end as id1,case when rtrim(AUPOS_R)='' then AUBEL else AUPOS_R end as id2  from tablename) as a order by id1,id2,rnumb

可以試一下這句sql.

会飞的金鱼 | 园豆:881 (小虾三级) | 2014-10-08 17:41

这是按你说的写出来的结果。这个我认为靠SQL是解决不了。我用C#自己完成了。拆成了2个table一个table存只有AUBEL,AUPOS的数据,另一个table存只有AUBEL_R,AUPOS_R的数据,然后根据条件和寻找特定的索引去重新插入一个新datatable

支持(0) 反对(0) CTRA王大大 | 园豆:30 (初学一级) | 2014-10-13 14:00
0

我用C#自己完成了。拆成了2个table一个table存只有AUBEL,AUPOS的数据,另一个table存只有AUBEL_R,AUPOS_R的数据,然后根据条件和寻找特定的索引去重新插入一个新datatable

CTRA王大大 | 园豆:30 (初学一级) | 2014-10-13 14:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册