我有一个交叉引用表,需要找到一个 ID 的公共(public)值,其中第二个 ID 具有查询中给定的多个值。使用“或”很容易做到这一点,但我终生无法弄清楚如何使用“和”来做到这一点。我确信有一个明显的解决方案已经盯着我看了好几个小时,但尽管进行了大量测试和搜索,我还是找不到它。非常感谢任何帮助。
cross_reference_table 列: id,位置,与会者
使用 OR 很简单:
SELECT DISTINCT location FROM cross_reference_table
WHERE attendee = 6 OR attendee = 7 OR attendee = 8;
但我只需要返回与会者 6,7 和 8 都出席的那些位置。同样,我不能简单地在上面的查询结构中使用 AND。我一直在为此苦苦挣扎,根本无法取得任何进展。提前感谢您的任何建议。
最佳答案
尝试这样的事情
select distinct location
From cross_reference_table
where attendee =6 or attendee = 7 or attendee=8
group by attendee, location
having count(*)=3
关于mysql - 如何使用 AND 在一个表列中找到基于另一列的公共(public)值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2234481/