今天我实在是想不通这个问题了 - 所以非常感谢您的帮助。
表格结构
Create Table #trans
(
TransactionId int,
AccountNumber varchar(10),
TransactionAmount money,
TransactionDate DateTime
)
Create Table #payments
(
PaymentId int,
AccountNumber varchar(10),
PaymentAmount money,
PaymentDate
)
示例数据
Insert Into #trans
Values ( 500500 ,'10000001', 10000.00, '2008-10-02')
GO
Insert Into #trans
Values ( 500501 ,'10000001', 10000.00, '2008-10-02')
GO
Insert Into #trans
Values ( 500502 ,'10000001', 10000.00, '2008-10-02')
GO
Insert Into #payments
Values ( 0001,'10000001', 10000.00, '2008-10-02')
GO
Insert Into #payments
Values ( 0002,'10000001', 10000.00, '2008-10-02')
GO
Insert Into #payments
Values ( 0003,'10000001', 10000.00, '2008-10-02')
GO
预期结果
我需要能够将交易与付款匹配。基本上,我会得到:
TransactionId PaymentId
500500 0001
500501 0002
500502 0003
通过帐号,付款日期和金额进行匹配的交易。
这似乎非常简单,但我似乎无法解决它。
更新
为了澄清我的情况,我有一个历史交易列表,如上表所示。我有一个包含支付信息的文件,同样是历史性的。我需要将交易与文件中的支付匹配。
为什么?
- 查找文件中不存在的任何交易
- 查找文件中没有相应交易的任何付款
- 创建一个“链接”表,其中包含TransactionID和PaymentID,以便将来查询此数据的任何其他人不会遇到同样的问题。