mysql - 查找特定用户尚未投票的所有民意调查

标签 mysql

我有一个网站,它向注册用户显示一个接一个的投票,并将他的投票存储在一个表中。 数据库的一个简单结构如下(有更多的字段,但它们对问题的贡献不大,所以我删除了它们):

民意调查(pollId)

投票(pollId,userId,投票)

现在我想运行一个 MySql 查询来选择“民意调查”表中的所有民意调查,除了当前用户已经投票的民意调查(可以从“投票”表中确定)

是否可以单独使用 MySql select 语句来做到这一点,还是我必须先选择所有投票,然后使用一些 Php 逻辑过滤掉用户已经投票的那些?

提前致谢!

最佳答案

SELECT *
  FROM Pools
 WHERE id NOT IN (
       SELECT poolId
         FROM Votes
        WHERE userId = 142
       )

关于mysql - 查找特定用户尚未投票的所有民意调查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5611126/

相关文章:

mysql - 避免用户在 wordpress 中更改密码

python - 如何使用 PyMySQL 将 Pandas Dataframe 插入 MySql

php - 无需 super 权限更改MySQL时区

php - 从 3 个表中获取信息 SQL 和 PHP

mysql - 将自动增量主键插入现有表

php - 该 MySQL 版本不允许使用该命令

mysql - SQL 显示 count() 中的值

javascript - 为用户返回时保存表单数据

Mysql - 在编号 7 的 vnum END 处查询 UPDATE

Mysql 我可以用 join 进行更新吗