请问如何使UNION查出的结果按子句的顺序排列?即第一个SQL语句的查询结果在上面?

解决方案 »

  1.   

    用变通的方法试试:select 1,* from table1
    union
    select 2,* from table2
    ....
      

  2.   

    select * from 
    (
        select 1 as ord,* from table1
        union
        select 2 as ord,* from table2
        ***
    )
    order by ord
      

  3.   

    如果是动态的SQL。可以建一个Sequnce。seq.nextval 代替1,2,3
      

  4.   

    不可能第一个句排序
    使用union关健字order by只能出现在最后位置
    如:
    select 1,* from table1
    union
    select 2,* from table2
    order by filed
      

  5.   

    回复人: iwantsay(吵闹) ( ) 信誉:100  2003-12-11 13:21:00  得分:0 
     
     
      select * from 
    (
        select 1 as ord,* from table1
        union
        select 2 as ord,* from table2
        ***
    )
    order by ord
      
     
    转楼上,这样肯定可以!不可以找我!
      

  6.   

    解决了
    SELECT * FROM 
    (
        SELECT 2 AS ord,content_id FROM CITI_FORM_MEMBERS WHERE content_id = 'qj_form1_select6'
        UNION
        SELECT 1 AS ord,content_id FROM CITI_FORM_MEMBERS WHERE content_id LIKE 'qj%'
    ) ORDER BY ord
    SELECT 2 AS ord ,content_id FROM CITI_FORM_MEMBERS WHERE content_id = 'qj_form1_select6'
    UNION
    SELECT 1 AS ord, content_id FROM CITI_FORM_MEMBERS WHERE content_id LIKE 'qj%'
    ORDER BY ord都可以
    不过不能用*