类似NOT LIKE(从其他表中选择语句)

时间:2012-10-02 17:39:09

标签: sql database sqlite

我有3张桌子

SUFFIX_LIST(Item VARCHAR),
PREFIX_LIST(Item VARCHAR), and
VALID_LIST(Part1 VARCHAR, Part2 VARCHAR)

现在我需要列VALID_LIST.Part1& VALID_LIST.Part2的方式 Part1与SUFFIX_LIST中的任何项目部分匹配 Part2与PREFIX_LIST中的任何Item部分不匹配。

我正在使用SQLite作为我的本地数据库并使用c#进行应用程序开发!

提前致谢!

编辑以澄清

有效列表

sample1, somedomain.com
samplebanword, someotherdomain.com
simplestring, someotherotherdomain.net
morestring, my-domain.com

PREFIX_LIST

ban
text

SUFFIX_LIST

.net
otherother

现在,我想要的是,当我必须得到的查询

Output
--------
sample1, somedomain.com
morestring, my-domain.com

1 个答案:

答案 0 :(得分:3)

这是一个使用您提供的其他信息的解决方案:

SELECT * FROM VALID_LIST WHERE NOT EXISTS 
  (SELECT * FROM PREFIX_LIST WHERE VALID_LIST.Part1 LIKE '%' || Item || '%')
  AND NOT EXISTS
  (SELECT * FROM SUFFIX_LIST WHERE VALID_LIST.Part2 LIKE '%' || Item || '%')

您可以在此处查看:http://sqlfiddle.com/#!7/1da46/3/0