我有一个名为Transactions的表,它具有来自店面的分类帐。为简单起见,让我们说它看起来像这样:
trans_id | cust | date | num_items | cost
---------+------+------+-----------+------
1 | Joe | 4/18 | 6 | 14.83
2 | Sue | 4/19 | 3 | 8.30
3 | Ann | 4/19 | 1 | 2.28
4 | Joe | 4/19 | 4 | 17.32
5 | Sue | 4/19 | 3 | 8.30
6 | Lee | 4/19 | 2 | 9.55
7 | Ann | 4/20 | 1 | 2.28
对于信用卡购买,我随后获得了一张具有完整时间戳的电子分类帐。所以我有一个名为cctrans的表,包含日期,时间,客户,成本和其他一些信息。我想在cctrans表中添加一个列trans_id,它引用事务表。
这方面的更新声明很简单,除了一个故障:我在4/19从Sue获得了一个11 AM的交易,价格为8.30美元,而Sue的4 PM交易是4/19的8.00美元的交易,相同的是事务表除了trans_id字段。我并不十分关心cctrans表的哪条记录与trans_id 2相关联,哪一条链接到trans_id 5,但它们都不能被分配相同的trans_id。
这里的问题是:我如何实现这一目标(理想情况是,当客户每天进行三到四次相同的购买时,这种方式也有效)?
我到目前为止所做的最好的事情是:
UPDATE cctrans AS cc
SET trans_id = t.trans_id
WHERE cc.cust = t.cust AND cc.date = t.date AND cc.cost = t.cost
然后通过手动检查逐个修复它们。但显然这不是我首选的解决方案。
感谢您提供的任何帮助。