2017-06-14 61 views
2

我使用SQLite运行该查询:SQL:找到类似的行到其他同桌在特列

SELECT * FROM phrases1, phrases2 WHERE phrases1.word LIKE ('%' +phrases2.word+ '%') 

而不是作品。 两个表短语1,短语2是相同的,并且有列名字,我想按行列过滤第一个表,该列的字段类似于第二个表的字段列。虽然这工作:

SELECT * FROM phrases1, phrases2 WHERE phrases1.word LIKE phrases2.word 

但我想使用通配符。

回答

2

字符串连接SQLite的运营商||+

SELECT * FROM phrases1, phrases2 
WHERE phrases1.word LIKE '%' || phrases2.word || '%' 

此外,我不知道有你的周围表达LIKE括号的作用是什么,但你并不需要他们那里。但你应该使用显式连接来写你的查询,更好地使用别名:

SELECT * 
FROM phrases1 p1 
INNER JOIN phrases2 p2 
    ON p1.word LIKE '%' || p2.word || '%' 
+0

重新加载页面...我弄糟了我的第一个答案。 –

+0

谢谢。加工。 –

相关问题