我有一個包含數據激活和終止記錄的表。 我只從服務器獲得subscriber
,imsi
,date
,package status
和data package
。現在我需要加入激活和終止的記錄。日期SQL Server加入
我不知道從哪裏開始或如何做到這一點。
任何人都可以幫助我嗎?
這 http://i.stack.imgur.com/HoRc0.png
應該成爲這個。 http://i.stack.imgur.com/Ue1mA.png
我有一個包含數據激活和終止記錄的表。 我只從服務器獲得subscriber
,imsi
,date
,package status
和data package
。現在我需要加入激活和終止的記錄。日期SQL Server加入
我不知道從哪裏開始或如何做到這一點。
任何人都可以幫助我嗎?
這 http://i.stack.imgur.com/HoRc0.png
應該成爲這個。 http://i.stack.imgur.com/Ue1mA.png
編輯答案就在這裏:
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
我正在調查它,但似乎像sqlfiddle是下跌或東西 –
嗨傑里米這裏是一些示例數據http://sqlfiddle.com/#! 3/be367 – Wishaal
我只是解決了你的問題沒有必要:D –
你是什麼意思** **註冊激活和終止記錄。 –
如果您使用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解析功能/)。 –
不,我在SQL Server 2008上,的確我可以使用這些函數 – Wishaal