我需要像这样查询一个表:
select phrase_id
from direct_words
where knowledge_id = X and dictionary_word_id = Y;
但我只想检索另一个表(top_words)中存在相同对(knowledge_id = X和dictionary_word_id = Y)不的行。这可以通过应用查询来完成:
select top_id from top_words where knowledge_id = X and dictionary_word_id = Y;
对于第一个查询的每个返回结果,如果第二个查询的行数大于0,则拒绝。
这可以在SQLite的单个查询中完成吗?
答案 0 :(得分:1)
左边连接为Andrey建议,或者......并且不存在(从TOP_WORDS中选择x,其中......)
答案 1 :(得分:0)
选择dw.phrase_id
来自direct_words dw
左外连接top_words tw on dw.phrase_id = tw.phrase_id
其中dw.knowledge_id = X和dw.dictionary_word_id = Y和tw.phrase_id为NULL