【发布时间】:2016-02-17 09:37:50
【问题描述】:
我有包含用户 ID 和专业知识 ID 的专业知识表。每个用户可能具有多种专业知识。现在我想获得所有必须具有范围内所有专业知识的用户,例如(1,2,3,4,5,......等等)。
IN 条件仅用于 OR 操作,所以我怎样才能获得预期的结果,让我们说通过将 IN 条件与 AND 操作一起使用。或者有没有其他可以使用的运算符或技巧。
编辑:
让我补充一点解释。客户选择物理、数学、化学......等专业。所以我有专业知识,我需要从满足所有选定专业知识的专业知识表中获取所有用户 ID。所以我需要精通数学、物理、化学等的用户。
所有数据都在一个专业知识表中。
当前查询是这样的
从specialty_id IN (1,2,3,4)中选择user_id
但这适用于拥有这些专业知识之一的所有用户,但我需要所有拥有所有这些专业知识的用户。
【问题讨论】:
-
你可以使用 All 运算符
-
如果我对您的理解正确,您所问的问题在逻辑上是不可能的。例如,记录的属性不能同时是
1和2。我认为您正在寻找exists。 -
好吧,让我解释一下,用户必须具备物理、数学、化学等所有专业知识。所以不需要那些只有物理没有数学的记录。
-
我们怎么知道有多少专业知识?
-
嗯,我有一个用户勾选专业知识的界面,所以我有一个数组。我知道确切的专业知识数量。例如 (1,2,3,54,5)