表2 在MySQL数据库中的A和B,如果并且只有在表A所述行的某些领域与表B不同行的田地完全吻合的情况下,如何更新表A的行文。 表B中的行数必须每次使用一次,每次使用一次。 因此,表B中的一行在表A中设有连接一行的田间,不能利用收益与表A中的任何其他行相匹配。
我曾尝试过
UPDATE
Table A,
表B
SET
Table A.Status = MATCHED ,
表B.Status = USED
WHERE
表B.Status IS NULL
AND
Table A.Field1 = 表B.Field1
AND
Table A.Field2 = 表B.Field2
不幸的是,这并没有给我带来预期的结果,因为表A的不同行文往往与表B中的相同行文吻合。
例如: 表A
ID Date Ref Amount Status
1 2009-10-20 773 300000
2 2009-10-20 773 10000 MATCHED
3 2009-10-20 773 150000
4 2009-10-20 773 20000 MATCHED
5 2009-10-20 773 140000 MATCHED
表B
Ref Amount Date ID
870 50000 2009-11-01 1
871 50000 2009-11-01 2
871 80000 2009-11-01 3
871 20000 2009-11-01 4
871 20000 2009-11-01 5
871 20000 2009-11-01 6
872 300000 2009-11-01 7
采用参考、数额和日期。