匹配两列之间的一些单词

时间:2014-07-31 09:22:53

标签: mysql sql

我需要匹配两列之间的一些单词。我无法在任何地方找到这个解决方案,所以我需要帮助。

|==========title=================|======title================|
|...Toscano Brioche..............|...Toscano .... ...........|
|....Toscano Brioche Creme.......|...Brioche Creme Butter....|

OUTPUT ==>

|==========title=================|======title================|===OUTPUT===|
|...Toscano Brioche..............|...Toscano .... ...........|   1        |
|....Toscano Brioche Creme.......|...Brioche Creme Butter....|   1        |
|....Strawberry CAKE Bakery......|...Brioche Creme Butter....|   0        |

如何比较表中名为'title'的这两列,我需要匹配两列之间的一些单词。例如,在第1行中,“Toscano”在两列中都很常见,在第2行中,“Brioche Creme”很常见。

2 个答案:

答案 0 :(得分:2)

完全无法理解你的问题,我想你想要比较2列,如果那些有一些常用词然后显示1.可能它可以帮助你..

select title1,title2,title1 like concat("%",replace(title2," ","%"),"%") as matched from table_name

编辑:如果这两列来自不同的表,您可以看到已接受的答案。顺便说一句,很明显。但是如果你想在任何地方找到所有单词,请不要忘记使用替换。

答案 1 :(得分:2)

也许是这样的(SQL FIDDLE here)?

SELECT table1.title title1, table2.title title2
FROM table1, table2
WHERE table1.title LIKE CONCAT('%',table2.title,'%') 
OR table2.title LIKE CONCAT('%',table1.title,'%');