我有 3 个表 App、concept 和 app_to_concept
应用表
app_id | app_name
=================
1 | foo
2 | bar
3 | foobar
4 | barfoo
概念表
concept_id | concept_name
=========================
1 | english
2 | math
3 | science
4 | Fun
app_to_concept 表
concept_id | app_id
=========================
1 | 1
2 | 1
3 | 2
4 | 3
2 | 2
2 | 4
我想得到所有app list
有概念english
和math
(例如)
我怎样才能做到这一点?
编辑
让我更具体一点
我有一些具有概念值(value)的复选框。当我选中复选框时,它会返回与选中概念相关的应用程序详细信息。现在我的案例正在举例说明
如果我选中了 english
和 math
概念复选框,那么它将显示具有概念 english
或 math
和 science
和 fun
类似。
现在,当我检查 english
、math
和 science
时,结果应该显示具有 english
或 数学
和 科学
。意味着应用有
英语
和科学
数学
和科学
最佳答案
基本的 JOIN
就可以了。
select a.app_name
from app_to_concept ac
INNER JOIN app_table a ON ac.app_id = a.app_id
INNER JOIN concept_table c ON ac.concept_id = c.concept_id
WHERE c.concept_name IN ('english', 'math');
关于mysql - 从具有多个条件的另一个表中的行中的表中选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36333988/