比如说我要查询:
select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB') 
查询结果为:
HB10HA2DCB
HB115AEBAA
HB11BAGBBA
HB11BAGBBB如何才能将查询结果以查询前的数据排序出来,不要在输出结果时自动替我排序我希望的排序结果为:
HB11BAGBBB
HB11BAGBBA
HB115AEBAA
HB10HA2DCB求助高手帮忙解决下··············

解决方案 »

  1.   

    select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
    order by
      charindex(o.bat_id,'HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
      

  2.   


    select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
    order by
      charindex(','+o.bat_id+',',','+'HB11BAGBBB,HB11BAGBBA,HB115AEBAA,HB10HA2DCB'+',')
      

  3.   


    --> 测试数据:[test]
    if object_id('[test]') is not null 
    drop table [test]
    create table [test](id varchar(10))
    insert [test]
    select 'HB10HA2DCB' union all
    select 'HB115AEBAA' union all
    select 'HB11BAGBBA' union all
    select 'HB11BAGBBB'
    select * from test 
    order by id desc/*
    id
    HB11BAGBBB
    HB11BAGBBA
    HB115AEBAA
    HB10HA2DCB
    */--这么不行么?
      

  4.   


    select * from batch_trx o where o.bat_id in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
    ORDER BY GETDATE()
      

  5.   

    SELECT  * 
    FROM  batch_trx o 
    WHERE o.bat_id IN('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
    ORDER BY
    CHARINDEX(','+o.bat_id+',',','+'HB11BAGBBB,HB11BAGBBA,HB115AEBAA,HB10HA2DCB'+',')
      

  6.   


    --> 测试数据:[tb]
    IF OBJECT_ID('[tb]') IS NOT NULL DROP TABLE [tb]
    GO 
    CREATE TABLE [tb]([name] VARCHAR(10))
    INSERT [tb]
    SELECT 'HB10HA2DCB' UNION ALL
    SELECT 'HB115AEBAA' UNION ALL
    SELECT 'HB11BAGBBA' UNION ALL
    SELECT 'HB11BAGBBB'
    --------------开始查询--------------------------SELECT * FROM [tb] where [name] in ('HB11BAGBBB','HB11BAGBBA','HB115AEBAA','HB10HA2DCB')
    ORDER BY CHARINDEX(','+[name]+',','HB11BAGBBB,HB11BAGBBA,HB115AEBAA,HB10HA2DCB,')
    ----------------结果----------------------------
    /* 
    name
    ----------
    HB11BAGBBB
    HB11BAGBBA
    HB115AEBAA
    HB10HA2DCB(4 行受影响)*/