我需要返回两个字段相似的表中的所有条目。下面显示了表和条目。实际的代码从第二个表中加载数据,但不会影响此问题。我只提到它是为了使示例更接近实际代码。
table A_table {
id int
wordA text
wordB text
}
table B_table {
id int
}
wordA = bob
wordB = bobby
wordA = bob
wordB = bob
wordA = eedddee
wordB = ddd
对于上述情况,我希望查询返回所有记录,因为一条记录与另一条记录相似或完全匹配。
从我在这里找到的示例中,我首先尝试使用IN。它返回了完全匹配的记录-在此示例中为bob和bob。
SELECT wordA, wordB from A_table a left join B_table b on a.id = b.id
where ( wordA IN wordB or wordB IN wordA )
然后我使用LIKE尝试了变体,如下所示,但没有返回记录。
SELECT wordA, wordB from A_table a left join B_table b on a.id = b.id
where ( wordA LIKE '%wordB#' or wordB LIKE '%wordA%' )
SELECT wordA, wordB from A_table a left join B_table b on a.id = b.id
where ( wordA LIKE '% select wordB from B_table b2 where b2.id = a.id ) %'
我在这里已经阅读了许多类似的问题,但是找不到一个可以回答这个问题的问题。有办法吗?