Mysql - 如何查询2个表?

时间:2014-08-11 11:59:46

标签: mysql

我遇到了包含2个表的查询的问题

  

表A
  id(key),name

     

表B
  id,a_id(外键),语言

在第一个表格中,您可以找到很多人,他们可以用第二语言发言。我现在的问题是,我想找到所有能说英语和德语的人(不是其中之一,而是两者!)。例如。 你有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

这应该有效,假设您的语言表看起来像这样 https://www.dropbox.com/s/bgk0rjo8g86rfz5/Screenshot%202014-08-11%2022.20.55.png

SELECT a.*
FROM b
JOIN a ON a.id = b.user_id
WHERE b.language = 'German'
OR b.language = 'English'
GROUP BY b.user_id
HAVING COUNT(*) = 2;