SQL Server SQL在连接表后复制行

0s7z1bwu  于 2023-01-12  发布在  其他
关注(0)|答案(1)|浏览(155)

我有一个问题,所以我有两张table,A桌和B桌
表_A

Treaty_Number   Date         Value   Proc   
1               2022-01-01   100     20%
1               2022-01-01   100     30%
1               2021-01-01   100     50%
1               2021-01-01   100     80%

表_B

Treaty_Number   Date         Seq_Num      
1               2022-01-01   1      
1               2022-01-01   2      
1               2021-01-01   1      
1               2021-01-01   2

现在,当我试图查看2022年的数据时,我看到有两行是正确的。
一个二个一个一个
但当我尝试连接Table_B时

select *
from Table_A A
join Table_B B on B.Treaty_Number = A.Treaty_Number and B.year(Date) = A.year(Date)
where A.year(Date)= 2022

我会得到4行

Treaty_Number   Date         Value   Proc   Seq_Num
1               2022-01-01   100     20%    1
1               2022-01-01   100     30%    1
1               2022-01-01   100     20%    2
1               2022-01-01   100     30%    2

我所期望的是

Treaty_Number   Date         Value   Proc   Seq_Num
1               2022-01-01   100     20%    1
1               2022-01-01   100     30%    2

那么解决这个问题的最佳方案是什么呢?

5f0d552i

5f0d552i1#

正如Azad建议的那样,我在第一个表中又添加了一个参数,所以现在我在连接语句中有了三个参数,数据现在是正确的。

相关问题