Mysql 查找特定用户尚未投票的所有投票

Mysql 查找特定用户尚未投票的所有投票,mysql,Mysql,我有一个网站,向注册用户显示一次又一次的投票,并将他的投票存储在表格中。 数据库的一个简单结构如下:有更多的字段,但它们对问题的影响不大,所以我删除了它们: 波尔斯波利德 VotespollId,用户ID,投票 现在我想运行一个MySql查询来选择“polls”表中的所有民意测验,除了当前用户已经投票的民意测验之外,这些民意测验可以从“Votes”表中确定 是否可以单独使用MySql select语句来实现这一点,或者我必须先选择所有投票,然后使用一些Php逻辑过滤掉用户已经投票的投票 提前谢谢

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

波尔斯波利德

VotespollId,用户ID,投票

现在我想运行一个MySql查询来选择“polls”表中的所有民意测验,除了当前用户已经投票的民意测验之外,这些民意测验可以从“Votes”表中确定

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


提前谢谢

试试这样的方法:

SELECT *
  FROM Pools
 WHERE id NOT IN (
       SELECT poolId
         FROM Votes
        WHERE userId = 142
       )
select p.pollid from polls p where p.pollid not in (select v.pollid from votes v where userId = {USERID}) 

多谢了,伙计,这真的很有效,但hsz的速度快了一点,所以我不得不选择他:$没问题,你已经得到了你的答案: