sql - 选择所有参与过所有选举的用户

标签 sql

我的数据库结构为

User Table(user id, username, first name,last name)

Event Table(event id,event name, event date)

UserEvent(user id, event id)

我想知道参加过所有事件的所有用户的用户名

最佳答案

这是一种方法:选择与用户关联的不同事件 ID 的数量以及事件 ID 的总数。

select *
from User u
where (
    select count(*) from (
        select distinct ue.EventId
        from UserEvent ue
        where ue.UserId=u.UserId
    )
) = (select count(*) from Event)

关于sql - 选择所有参与过所有选举的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646787/

相关文章:

mysql - 如何理解解决 MyISAM FK 问题的方法?

mysql - 如何从 MySQL 数据库中搜索列名?

mysql - mysql/sqlserver 中截断与删除的比较

c# - 为了学习正确的编程概念,我应该开发什么样的应用程序

mysql - 通过eventid获取每个用户的最后一条记录

php - 每周检索数据

SQL 来确定连续访问天数的不同时期?

sql - 更新语句是否不受竞争条件的影响?

SQL Server Management Studio 2008 安装 - 无选项

MySQL 查询 - 计算不引用自身的记录数