有张数据库a表
编号    商品名称    标志    数量      单价       总价     日期
100     数码相机       0      2        2500       5000    2007-02-01
101      U盘a          0      3        200        600     2007-01-01
102      U盘b          0      1        300        300     2007-01-01
103      U盘c          0      1        300        300     2007-01-01
如果把编号103改成101效果如下:(就是编号字段里的数据有变化)
编号    商品名称    标志    数量      单价       总价     日期
100     数码相机       0      2        2500       5000    2007-02-01
101      U盘c          0      1        300        300     2007-01-01
102      U盘a          0      3        200        600     2007-01-01
103      U盘b          0      1        300        300     2007-01-01

解决方案 »

  1.   

    加一个 order by 编号 asc
    select * from tableName where..... order by 编号 asc
      

  2.   

    select 
        * 
    from 
        表 
    order by 
        (case 编号 
           when 101 then 103 
           when 103 then 101 
           else 编号 
         end)
      

  3.   

    update a表 set 编号=999 where 编号=101
    update a表 set 编号=101 where 编号=103
    update a表 set 编号=103 where 编号=999
      

  4.   

    101      U盘a          0      3        200        600     2007-01-01
    102      U盘b          0      1        300        300     2007-01-01
    然后这两条变为这两条?
    102      U盘a          0      3        200        600     2007-01-01
    103      U盘b          0      1        300        300     2007-01-01upate tb
    set 编号 = '101'
    where 编号 = '103' update tb
    set 编号 = cast(cast(编号 as int) + 1 as varchar)
    where 编号 >= '101' and 商品名称 <> 'U盘c'
      

  5.   

    我是要先更新表后查询的结果是这样的:
    编号    商品名称    标志    数量      单价       总价     日期
    100     数码相机       0      2        2500       5000    2007-02-01
    101      U盘c          0      1        300        300     2007-01-01
    102      U盘a          0      3        200        600     2007-01-01
    103      U盘b          0      1        300        300     2007-01-01
    就是把编号103更新成101,101就自动更新成102,依次类推。
      

  6.   

    编号是标识列吗?如果不是,写几条Update就可以了,如果是,建议还是不要修改了