如何选择没有定义的单词

时间:2017-07-24 03:26:06

标签: mysql join subquery

我有以下表格:

表格:文字

    id word
    1  a
    2  b
    3  c ... so on

表格:定义

 id wid land definition
 1  1   en   the first letter of the Roman alphabet
 2  1   en   the blood group "A"
 3  1   my   Definition of 'a' in Malaysia
 4  1   sg   Definition of 'a' in Singapore
 5  2   en   the second letter....
 6  2   en   the blood group "B"
 7  2   my   Definition of 'b' in Malaysia
 8  2   sg   Definition of 'b' in Singapore
 .... and so on.

我的目标是找到一个没有特定语言定义的单词,这样我就可以添加一个定义。在这种情况下,我想提出“c'。

这个词。”

所以,当我尝试:

"SELECT word FROM words, definition WHERE words.id = wid AND lang != 'my'

我得到所有的话:' a','''''。'

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以在此处使用子查询来选择目标语言中的所有单词。然后执行not,这样它就会为您提供不是那种语言的所有单词。

SELECT id, word 
FROM words 
WHERE id NOT IN (SELECT wid FROM definitions WHERE land ='my')

演示:http://sqlfiddle.com/#!9/2d146/3/0