匹配金额以及来自2个不同表格的通配符描述

时间:2013-12-23 16:40:54

标签: mysql

我需要从一个表中返回所有值,其中金额与另一个表中的行匹配,并且这些行具有类似的描述。一些例子。

table1包含(请注意,description字段包含格式错误的文字):

amount  | description
------------------------------------------------
 899,95 | 37.43.22.174                    COMPANY HOLDING         AMSTERDAM                        Regarding: speedtransaction        ORDERNUMBER: 0012345
3793,93 | Apple Lt. STREET 5 1234 AV AMSTERDAM 134567
3793,93 | Totally diff COMP lt. STREET 8 6542 AC HAARLEM 134567

table2包含:

amount  | description
------------------------------------------------
 899,95 | COMPANY HOLDING SEPA Ove
3793,93 | Apple Lt.

对于2个表中的多行,金额可以相同,因此我需要与另一个值进行比较,作为描述中的一些关键字。我该如何匹配这些描述?

试过这个,但是效果并不好,因为我觉得我还在选择其他表中金额的位置:

SELECT `table1`.* FROM `table1`
WHERE `table1`.`amount` NOT IN
   (SELECT `amount`
    FROM `table2`
    WHERE `table2`.`amount` = `table1`.`amount`
      AND `table1`.`description` LIKE CONCAT('%', SUBSTR(`table2`.`description`, 1, 15), '%')
   )

0 个答案:

没有答案