我有以下初始数据:
我想要的是:
这是逻辑:对于特定“accNumber”的每个“Rest”值,我想将那个特定“Rest”值的最小日期放入“date_in”,对于“date_fin”,我想放入“date”-1相同“accNumber”的“Rest”属性的下一个“日期”的值。我不应该选择具有 0 'Rest' 值的行。另一个问题是特定 accNumber 的最后一个“Rest”值,没有具有相同“accNumber”的即将到来的日期,所以我们应该简单地将日期的最后一个值作为 date_fin(您可以在提供的表格上观察这一点。这是 pleminary work我已经完成了,但它没有按我的意愿工作:
SELECT a.accNumber, a.Rest, MIN(a.Date), MIN(b.Date)
FROM Table1 a
LEFT JOIN Table1 b ON a.accNumber=b.accNumber
WHERE a.Date<b.Date
AND a.Rest<>0
AND a.accNumber=b.accNumber
GROUP BY a.accNumber, a.Rest
ORDER BY a.accNumber
请帮忙。提前致谢