SQL Server加入日期
我有一个包含数据激活和终止记录的表。 我只从服务器获取订户、imsi、日期、包状态和数据包。现在我需要加入激活记录和终止记录 我不知道从哪里开始,也不知道如何实现这一点 有人能帮我吗 这个 应该是这样。 编辑答案如下:SQL Server加入日期,sql,sql-server,join,Sql,Sql Server,Join,我有一个包含数据激活和终止记录的表。 我只从服务器获取订户、imsi、日期、包状态和数据包。现在我需要加入激活记录和终止记录 我不知道从哪里开始,也不知道如何实现这一点 有人能帮我吗 这个 应该是这样。 编辑答案如下: SELECT t1.subscriber, t1.imsi, t1.pakket, t1.datum, t1.data_pakket, t1.pakket_status, (SELECT min(datum) FROM mytable t2 WHERE t2.datum &
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';
SQLFIDLE证明:连接激活和终止记录是什么意思。如果您使用的是SQL Server 2012或更高版本,请查看
LAG()
或LEAD()
分析函数。如果你不在2012年,那么。不,我在SQL Server 2008上,确实我可以使用这些功能。我正在进一步研究,但似乎sqlfiddle出现故障或其他问题。我刚刚解决了你的问题。无需:Djust将我的查询添加到你的fiddle中,它似乎起作用:@Wishaal让我知道它是否对你的实际数据起作用,如果你需要任何反馈,我会在大约3-4个小时内提供一点,这样你可以问是否有什么不清楚的地方,我还需要做一件事。我在表格中放置了和id字段,该字段是自动递增的。如何获取激活行和终止行的id?