mysql - 如何使用 AND 在一个表列中找到基于另一列的公共(public)值?

标签 mysql

我有一个交叉引用表,需要找到一个 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/

相关文章:

MySQL:根据分隔符类型选择一系列有序记录

mysql - 使用 MySQL 空间索引设计一个标准化数据库以获取 5 个最近邻

mysql - 加入时间戳范围

mysql - 如何在mysql中获取前10行的总和?

php - 用户对数据库的存储过程访问被拒绝

mysql - Vagrant SSH - 设置并连接到 MySQL

mysql - 在 MySQL 存储过程中处理中间结果

mysql - MS Access 查询计算字段

mysql - 使用事件记录查询计算百分比

Java Driver.getConnection() 在实时系统上从 mysql 产生 "Connection Refused",而不是开发