[英]Get all records from tbl1 and matching (or the next close) records from tbl2, match is based on Client# and Date from tbl1 to tbl2
我正在尝试从 Tbl1 匹配(或下一个更大的匹配)到 Tbl2。
标准是
第一个匹配应该是 tbl2 中大于或等于 tbl1 中 date1 的第一个 date2
如果同一日期有多个记录,则应根据 tbl2 中的 RefNO 选择下一个更大或相等的日期。
tbl1 包含
RecNo ClientNo Date1
-----------------------------
4 1001 2/6/2017
3 1001 2/4/2018
1 1001 2/5/2018
2 1001 2/5/2018
5 1002 3/8/2018
9 1002 3/9/2018
10 1002 4/11/2019
tbl2 包含
RecNo ClientNo Date2 RefNo
-----------------------------------
1 1001 2/5/2017 1
4 1001 2/5/2018 2
2 1001 2/5/2018 4
3 1001 2/6/2018 5
5 1002 3/9/2018 1
6 1002 4/10/2019 2
查询结果
RecNoTbl1 ClientNo Date1 RecNoTbl2 Date2 RefNo
---------------------------------------------------------------
4 1001 2/6/2017 4 2/5/2018 2
3 1001 2/4/2018 2 2/5/2018 4
1 1001 2/5/2018 3 2/6/2018 5
2 1001 2/5/2018 NULL NULL NULL
5 1002 3/8/2018 5 3/9/2018 1
9 1002 3/9/2018 6 4/10/2019 2
10 1002 4/11/2019 NULL NULL NULL
我尝试使用 ROW OVER PARTITION 但这没有用。
您可以像这样使用左连接查询
Select tb1.*, tb2.* from table1 tb1
Left join table2 tb2 ON tb1.clientno = tb2.clientno Where tb1.date>=tb2.dare
对于独特的,您可以使用 distinct 像这样: select distinct tb1.title
检查此链接
有关不同的更多信息
对不起,如果我对事情没有很详细。 我从电话发帖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.