SQLite,从另一个表中选择字段'like'字段

时间:2015-04-21 07:31:24

标签: sqlite

我试图删除"坏词"从一张表中使用另一张表中令人反感的单词列表,但令人反感的单词通常是引理形式。因此,我无法始终进行完全匹配。我需要使用LIKE量词,例如WHERE text LIKE'%badword%'

我是否有办法尝试从另一个表中选择包含单词的所有行,但具体使用LIKE子句。

我将举例说明我的目的。这没有用,但是应该让你知道我想做什么:

SELECT *
FROM entry 
WHERE headword LIKE IN
( SELECT word
FROM sies )

现在我知道LIKE并不适合这个查询,但是我试图让这个效果发挥作用。

编辑: 这是我尝试过的最新内容,但没有用:

SELECT s.*
FROM sies AS s, entry AS e 
WHERE e.headword LIKE ('%' + s.word + '%')

2 个答案:

答案 0 :(得分:6)

您可以尝试以下查询:

select s.* from sies s, entry e where s.words like '%' || e.word || '%'

我假设sies是你的常规表,而entry是带有脏词的表。

您可以在此处查看Demo

答案 1 :(得分:0)

你可以试试这个:

SELECT e.*
  FROM entry  e
  JOIN sies s ON MATCH(e.words) AGAINST (s.words IN BOOLEAN MODE)