2016-07-24 84 views
-1
C1 |C2 |C3 
a |b1 |1 
a |b2 |2 
a |b3 |3 
a |b4 |4 
b |b1 |5 
b |b2 |6 
b |b3 |10 
b |b4 |11 

鑑於上述表中的數據,我想輸出象下面這樣:如何計算值的差在一列

C1 |DIFF 
a |3 
b |6 

這裏,DIFFC3列值,其中C2='b4'C2='b1'的差。 在Oracle中執行它的邏輯是什麼?

+0

對於'C1'中的每個不同值,或者它是可變的(例如''b5','b6'等等),'C2'總是有相同的四個值嗎? –

+0

@Engstrom是C2對於每個C1將始終爲b1至b4 – abhisek

回答

0

也許這...... my_table是你的輸入表。

select t1.c1 as c1, t1.c3 - t2.c3 as diff 
from (select c1, c3 from my_table where c2 = 'b4') t1 
     inner join 
     (select c1, c3 from my_table where c2 = 'b1') t2 
     on t1.c1 = t2.c1 
; 
+0

它可以幫助...謝謝:) – abhisek