读书人

银行储蓄存款数据,查询排序的实现?1

发布时间: 2012-02-02 23:57:14 作者: rapoo

银行储蓄存款数据,查询排序的实现??100分请教,在线等.
您好,请教您问题:

(sql2000数据库)

现有视图: v_储蓄
查询数据(select * from v_储蓄 ):
    视图数据显示为:
           帐号     一本通号     卡号       ...(其他字段)
           17010111123 23434432 354235235 // (帐号,   一本通号不为空, 卡号不为空 )
             17010100012 null 353202123 //( 帐号,  一本通号为空,  卡号不为空 )
17021312313 null 354425352
17010000003 21897987 null //(帐号,   一本通号不为空, 卡号为空)

17012313121 null null //( 帐号, 一本通号为空,  卡号为空 )
17012876876 22431242 null //(帐号,  一本通号为空,  卡号不为空 )
......... .......... ........
视图定义规则:
         帐号为主键,具有唯一性,不为空
         帐号对应其他字段,存在以下数据关系:
                  帐号,   一本通号不为空, 卡号不为空
                  帐号,   一本通号不为空, 卡号为空
                  帐号,  一本通号为空,  卡号不为空
                  帐号, 一本通号为空,  卡号为空
 
现在想对 视图做查询并排序,用一个T_sql语句,要求排序能实现以下效果:                      
   帐号    一本通号   卡号
   首先显示, 一本通号为空,卡号为空的帐号数据.(按帐号升序)                     即:17012313121 null  null

   其次显示,一本通号和卡号都不为空的帐号数据,以及,一本通号为空,卡号不为空的帐号数据.(按卡号升序) 即:17010100012 null 353202123
17010111123 23434432 354235235
                                                       17021312313 null 354425352   
   然后显示,一本通号不为空,卡号为空的帐号数据.(按一本通号升序)                   即:17010000003 21897987  null
                                                        17012876876 22431242  null
    
我实现的T_sql语句为:
          select * from  v_储蓄 order by 一本通号,卡号,帐号 asc ;

这样没办法实现 : 一本通号和卡号都不为空的帐号数据,以及,一本通号为空,卡号不为空的帐号数据.(按卡号升序)

 求助,在线等:

[解决办法]
同情你,帮顶.
[解决办法]
格式好乱啊。
整理下再看。
[解决办法]
看的出来楼主很急。不过太乱了。贴再多遍,效果也是一样。。
最好整理下后再发吧```
[解决办法]
建议把需求整理下,说清楚
[解决办法]

Haiwer
海阔天空

的这个不对吗???


SQL code
select * from v_储蓄order by case when 一本通号 is null and 卡号 is null then 1 --首先显示, 一本通号为空,卡号为空的帐号数据   when 卡号 is not null then 2 --其次显示,一本通号和卡号都不为空的帐号数据,以及,一本通号为空,卡号不为空的帐号数据.   when 一本通号 is not null then 3 --其次显示,一本通号和卡号都不为空的帐号数据,以及,一本通号为空,卡号不为空的帐号数据.   else 4   end,case when 一本通号 is null and 卡号 is null then 帐号   when 卡号 is not null then 卡号   when 一本通号 is not null then 一本通号   else 一本通号   end
[解决办法]
探讨

Haiwer
海阔天空

的这个不对吗???



SQL codeselect * from v_储蓄
order by case when 一本通号 is null and 卡号 is null then 1 --首先显示, 一本通号为空,卡号为空的帐号数据
when 卡号 is not null then 2 --其次显示,一本通号和卡号都不为空的帐号数据,以及,一本通号为空,卡号不为空的帐号数据.
when 一本通号 is not null then 3 --其次显示,一本通号和卡号都不为空的帐号数据,以…

[解决办法]
帮我把我的帐户余额update成9位数吧,谢谢楼主了...


[解决办法]

探讨
帮我把我的帐户余额update成9位数吧,谢谢楼主了...

[解决办法]
终于看到传说中的vset头号马甲了

读书人网 >SQL Server

热点推荐