2012-01-10 53 views
3

我有这个SQL与“UNION”。 “FROM”部分被省略。这个SQL生成一个批处理文件,其中命令的顺序很重要。手动排序concat文本(不是ASC或DESC)

SELECT 'DISCONNECT ent_user FROM job_code WITH user_id ="' 
     || a.user_id 
     || '" , jc_name = "' 
     || b.jc_name 
     || '";' 
    FROM 
    [...] 
UNION 
SELECT 'DISCONNECT rss_user FROM user_group WITH rss_user_name = "' 
     || a.user_id 
     || '" rss_name = "' 
     || b.rss_name 
     || '" rss_type = "' 
     || b.rss_type 
     || '" , ug_name = "' 
     || b.ug_name 
     || '";' 
    FROM 
    [...] 
UNION 
SELECT 'DELETE rss_user WITH rss_user_name = "' 
     || a.user_id 
     || '" rss_name = "' 
     || b.rss_name 
     || '" rss_type = "' 
     || b.rss_type 
     || '";' 
    FROM 
    [...] 

我希望有这种排序。这是手动不是ASC或DESC。

1) DISCONNECT ent_user FROM job_code ... 
2) DISCONNECT rss_user FROM user_group ... 
3) DELETE rss_user WITH rss_user_name 

怎么办?

回答

7

通过与您的代码,然后订的选择文字数字列:

SELECT code_text 
    FROM (
     SELECT <code> AS code_text, 1 AS my_order 
     ... 
     UNION 
     SELECT <code> AS code_text, 2 AS my_order 
     ... 
     [etc.] 
     ) 
ORDER BY my_order; 

然后,您可以设置任何你想要的顺序。

希望它有帮助...

相关问题