2015-05-20 100 views
-4

我有一個包含數據激活和終止記錄的表。 我只從服務器獲得subscriber,imsi,date,package statusdata package。現在我需要加入激活和終止的記錄。日期SQL Server加入

我不知道從哪裏開始或如何做到這一點。

任何人都可以幫助我嗎?

http://i.stack.imgur.com/HoRc0.png

應該成爲這個。 http://i.stack.imgur.com/Ue1mA.png

+0

你是什麼意思** **註冊激活和終止記錄。 –

+0

如果您使用SQL Server 2012或更高版本,請查看'LAG()'或'LEAD()'分析函數。如果你不在2012年,那麼[事情變得複雜](http://blog.sqlauthority.com/2011/11/24/sql-server-solution-to-puzzle-simulate-lead-and-lag-without - 使用-SQL服務器2012解析功能/)。 –

+0

不,我在SQL Server 2008上,的確我可以使用這些函數 – Wishaal

回答

0

編輯答案就在這裏:

SELECT t1.subscriber, t1.imsi, t1.pakket, t1.datum, t1.data_pakket, t1.pakket_status, 
(SELECT min(datum) FROM mytable t2 
WHERE t2.datum > t1.datum 
AND pakket_status='TERMINATED') AS end_date 
FROM mytable t1 
WHERE t1.pakket_status='ACTIVATED'; 

SQLFIDDLE爲了證明這一點:http://sqlfiddle.com/#!6/d4f64/12

+0

我正在調查它,但似乎像sqlfiddle是下跌或東西 –

+0

嗨傑里米這裏是一些示例數據http://sqlfiddle.com/#! 3/be367 – Wishaal

+0

我只是解決了你的問題沒有必要:D –