mysql匹配字母/数字字段与字母字段没有重复

时间:2013-07-18 05:15:16

标签: mysql regex concat

我有两个mysql表中的字段我需要匹配...在产品表中我有混合字母/数字键(product_code),如MM123,然后在集合表中我只有字母作为键(collection_code )比如MM ......

我试过这个:

select p.*
from product p, collection c
where p.product_code LIKE CONCAT(c.collection_code ,'%')

但是我得到了多个匹配的条目因为collection_code有M和MM这样的条目所以它返回product_code = M123和product_code = MM123

我认为我想要的是这样的:

select p.*
from product p, collection c
where p.product_code LIKE CONCAT(c.collection_code ,REGEXP  '[^0-9 \.]+')

但我似乎无法完全明白

1 个答案:

答案 0 :(得分:0)

SELECT p.*
FROM product p
JOIN collection c
ON p.product_code REGEXP CONCAT('^', c.collection_code, '[0-9]+$')