【发布时间】:2020-10-07 23:03:04
【问题描述】:
输入
表A
ID YEAR
101 2012
101 2013
101 2014
102 2012
102 2013
102 2014
表B
ID YEAR AMOUNT
101 2011 2384
101 2012 2987
101 2013 3232
101 2014 3987
102 2011 2212
102 2012 2332
102 2013 2987
102 2014 3222
输出表
ID YEAR AMOUNT PREV YEAR AMOUNT
101 2012 2987 2384
101 2013 3232 2987
101 2014 3987 3232
102 2012 2332 2212
102 2013 2987 2332
102 2014 3222 2987
问题描述:TableA 将选择年份作为基数,tableB 将拥有所有记录,但我需要连接 tableA 和 TableB 以连接上一年的数据,请参阅输出表。我尝试了自我加入,但无法获得它。
【问题讨论】:
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你期望的内容和原因。
-
不同年份同一个id? Id是你的PK吗?我必须承认我很难理解这个场景。
标签: sql sql-server tsql date join