2012-01-10 55 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; 

然後,您可以設置任何你想要的順序。

希望它有幫助...

相關問題