2016-03-02 62 views
-1

如果我們有以下數據,我想使用「SomeID」列或「ApplicationID」獲取數據。因此,返回的數據基本上是基於「SomeID」如何在SQL中獲取最近的數據和以前的數據

ID SomeID ApplicationID Amount 
    19 8  19    45.18 
    20 8  20    45.18 
    21 8  21    225.91 
    22 8  22    203.32 
    72 10  19    45.18 
    73 10  20    45.18 
    74 10  21    225.91 
    75 10  22    203.32 

我想回到

Last Month repayment This Month repaymnrt Variance 
45.18     45.18     0 
45.18     45.18     0 
225.91     225.91     0 
203.32     203.32     0 
+0

尋找主軸sql server – Mihai

回答

1

我認爲你可以做你想做的使用pivot或有條件aggregatoin在單獨的列金額:

select applicationId, 
     sum(case when someId = 8 then Amount else 0 end) as LastMonth, 
     sum(case when someId = 10 then Amount else 0 end) as ThisMonth, 
     sum(case when someId = 8 then -Amount 
       when someId = 10 then Amount 
       else 0 
      end) as Diff 
from t 
group by applicationId; 
+0

非常感謝你 – Wicky

相關問題