2013-12-12 196 views
-1

我不知道現在該做什麼... 這是我現在從查詢中得到的,但我希望它看起來像某物在表下面這個:pl/sql:按公司排序,然後公司,或附加2表

COMPANYNUM  BALANCE  ROWENTRIES 
2   8986762.37  2 
125   141390.3   6 
124   77431750   4 
76   36299.82   6 
17   -0.01    76 
86   -1    19 
500   -2000     7 
1   -101.48    6348 
3    0    5 
4    0    6 
5    0    30 
9    0   10 
12    0    28 
13    0    93 
16    0    17 
19    0    159 
21    0    5 
23    0    6 
26    0    101  
27    0    1 
29    0    2 
30    0    14 
32    0    6 
33    0    110 
34    0    27 

我希望它是這樣的:

COMPANYNUM BALANCE  ROWENTRIES 
1    -101.48  6348 
2    8986762.37  2 
17   -0.01    76 
76   36299.82  6 
86   -1    19 
124   77431750  4 
125  141390.3  6 
500  -2000    7 
3    0    5 
4    0    6 
5    0    30 
9    0   10 
12    0    28 
13    0    93 
16    0    17 
19    0    159 
21    0    5 
23    0    6 
26    0    101  
27    0    1 
29    0    2 
30    0    14 
32    0    6 
33    0    110 
34    0    27 

我想要的順序是這樣的:優先在餘額不爲零,再由公司編號順序,然後附加零的餘額條目。任何想法如何在PL/SQL中實現這一點...

謝謝。

+0

您需要格式化你的問題,因此是可讀的 – codingbiz

+0

歡迎SO。如果你不想得到一百萬的贊成票,請閱讀 - http://sscce.org/和 http://stackoverflow.com/questions/how-to-ask,然後回來。如果你想讓某人花時間幫助你,你應該在寫下你的問題時表現出一定程度的努力。 「詢問代碼的問題必須證明對所解決問題的最小理解,包括嘗試的解決方案,爲什麼他們不工作以及預期的結果,另見:http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist – OldProgrammer

+0

@codingbiz:感謝您的建議,請您現在看一下嗎?謝謝。 – user2751691

回答

1

嘗試:

ORDER BY 
    CASE WHEN Balance <> 0 
     THEN COMPANYNUM 
    END NULLS LAST, 
    COMPANYNUM 

在這裏看到一個演示:http://www.sqlfiddle.com/#!4/859be/1

+0

它的工作原理,當我試圖運行它時返回正確的結果表,但不知何故總是給出錯誤:包裝體的編譯錯誤A.MAIN 錯誤:ORA-04052:查找遠程對象[email protected]時發生錯誤。 SOME.COM ORA-00604:在遞歸SQL級別發生錯誤1 ORA-28545:連接到代理 無法檢索到網絡的文字/ NCR消息時確診的Net8錯誤6553 行:1個 文本:CREATE OR REPLACE包裝體a.MAIN有什麼想法嗎?非常感謝你。 – user2751691

+0

您的數據庫在編譯時無法與遠程數據庫建立連接。使用以下命令測試遠程鏈接:'從dual @ REMOTE_DB_LINK選擇sysdate;',還可以使用oracle'tnsping'實用程序ping遠程數據庫。 – krokodilko

+0

謝謝,這是網絡問題,我猜,現在很好,並且我們的代碼工作。非常感謝。 – user2751691