我有一個包含負值和正值的列表,並希望通過單個查詢在不同列中顯示正值和負值。希望通過單個查詢在不同列中顯示正值和負值
Column
-10000
-17000
16000
25000
輸出應該像
A B
-----------------
-10000 16000
-17000 25000
我使用Oracle和SQL PL開發。
我有一個包含負值和正值的列表,並希望通過單個查詢在不同列中顯示正值和負值。希望通過單個查詢在不同列中顯示正值和負值
Column
-10000
-17000
16000
25000
輸出應該像
A B
-----------------
-10000 16000
-17000 25000
我使用Oracle和SQL PL開發。
select decode(sign(col),1,col) positive_value
, decode(sign(col),-1,col) negative_value
, decode(sign(col),0,col) zero_value
from tbl_name
我不知道這是否會工作或沒有,但一旦嘗試..
這可能是一個解決方案,但只有當正數和負數的數量是一樣的。
select a.column as negative, b.column as non_negative from table a, table b where a.column<0 and b.column>=0;
當然哪裏,column
是你的列名,table
是你的表名。
HI薩拉,
只是試試這個
SELECT T1.POSITIVE_VALUE, T2.negetive_value
FROM (select COL positive_value, ROWNUM C1 FROM TEST_1 WHERE COL >= 0) T1
FULL OUTER JOIN (SELECT COL negetive_value, ROWNUM C2 FROM TEST_1 WHERE COL < 0) T2
ON (T1.C1 = T2.C2);
對上一篇文章的支持.. 並感謝本版 – 2011-06-02 08:49:50
現在,我可以糾正LT和GT運營商此代碼將提供所需的輸出。 – APC 2011-06-02 11:51:24
@APC: 請告訴我關於LT和GT你在之前的評論中講的是什麼 – 2011-06-07 09:46:21
@Alex氮雜:在Oracle社區的其餘部分上時,它不是用來回答這個問題作爲標記PLSQL SO皺眉。 – 2011-06-02 05:30:10
你怎麼知道把-10000放在-10000的邊上,等等? – 2011-06-02 05:30:53
當正數和負數不平衡時,你會發生什麼? – trutheality 2011-06-02 05:31:07