【发布时间】:2017-02-22 18:34:33
【问题描述】:
这个站点为我回答了许多 SQL 问题。终于注册问我自己的一个并在这里活跃起来。
无论如何,我正在使用具有 Date_Effective 和 Date_Lapse 的表。一个客户端可以有多行,所以我想要得到的是同一客户端的 Date_Lapse 和下一个 Date_Effective 之间的天数。此表中的日期值是 int,稍后我将转换为日期。
下面的代码不起作用。它不喜欢我加入的第二个价值观。为什么我不能让它给我比每个 date_effective 大的 min date_effective?如果我运行以下命令,我将不会得到任何结果,因为它会看到它,因为没有大于最小生效日期的生效日期。
SELECT ClientID, c1.Date_Lapse, c2.Date_Effective
FROM Fact_Episodes c1
LEFT JOIN (
SELECT ClientID, min(Date_Effective) as Date_Effective
FROM Fact_Episodes
GROUP BY ClientID
) c2
ON c1.ClientID = c2.ClientID
AND c2.Date_Effective > c1.Date_Effective
【问题讨论】:
-
在我以这种方式尝试之前,我试图通过分区的行号让它工作,但我无法得到它,所以那是我开始尝试自己的日期,现在在我发布这个之后我当然知道我的分区做错了什么哈哈谢谢。