【发布时间】:2018-07-29 17:40:11
【问题描述】:
需要一个 SQL 查询来将上个月的值与每月的值进行对比。
约束:不要使用任何 LAG、OVER、PARTITION、Row_number() 等。仅使用 LEFT、RIGHT 或 INNER 连接并实现它。
我有一张如下表
LoanID1 2000 年 1 月 LoanID1 2 月 3000 LoanID1 2500 年 3 月 LoanID1 1000 年 4 月 LoanID1 500 年 5 月 LoanID2 750 年 1 月 LoanID2 FEB 3500 LoanID2 2700 年 3 月 LoanID2 1500 年 4 月 LoanID2 4000 年 5 月基本上,这些是每个 LoanID 的每月值,我需要的是我需要另一列包含上个月的值,如下表所示:
LoanID1 Jan 2000
LoanID1 Feb 3000 2000
LoanID1 March 2500 3000
LoanID1 April 1000 2500
LoanID1 May 500 1000
LoanID2 Jan 750
LoanID2 FEB 3500 750
LoanID2 March 2700 3500
LoanID2 April 1500 2700
LoanID2 May 4000 1500
我尝试加入同一张表,但无法实现。请指导我并给我一些启发,我该怎么做。
更新以提供实际详细信息:
插图图片:实际数据如何可用以及我在第二张图片中需要它
[这是带有记录的实际数据库
这是我需要的另一列(上个月值)
提前感谢您的指导和感谢。
【问题讨论】:
-
正确的列使示例数据更易于阅读。
-
您是否尝试过执行 SQL 子查询来选择 LoanID 相同但使用相反顺序的值?假设您有一些索引或值正在增加,您可以在其中建立反向顺序
-
@UmadharM 。 . .月份真的存储为字符串吗? Zoho 是数据库吗?
-
如果您关心格式是否可读,我是否建议不要在数据中使用制表符?
-
@GordonLinoff,Months 是日期格式,例如“2016 年 11 月 1 日 00:00:00.000000”或“2016 年 11 月 1 日”只是为了示例,我在示例中给出了几个月来获取示例查询,所以我认为我可以在它之上构建。