我有一个问题,所以我有两张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
那么解决这个问题的最佳方案是什么呢?
1条答案
按热度按时间5f0d552i1#
正如Azad建议的那样,我在第一个表中又添加了一个参数,所以现在我在连接语句中有了三个参数,数据现在是正确的。