我需要匹配两列之间的一些单词。我无法在任何地方找到这个解决方案,所以我需要帮助。
|==========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”很常见。
答案 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,'%');