2017-06-14 60 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

謝謝。加工。 –

相關問題