我一直在执行此 sql 查询....我有两个表,一个包含我的所有用户,另一个包含每个用户的投票。 我想检查尚未投票的用户。 我正在尝试类似的方法,但没有用。
usuarios table
----------------------
| id | username |
----------------------
votes
--------------------------------------------
| id | user | mes | ano |
SELECT DISTINCT a.username
FROM usuarios a
, votes b
WHERE a.username != b.user
AND b.ano = 2019
AND b.mes = 11
on my usuarios table i hvae 20 entries.
1 | user1
2 | user2
........
on my votes table
1 | user1 | 11 | 2019
通过查询,我只想从(usuarios 表)获取不在我的投票表中的用户;
最佳答案
您的描述转换为使用 NOT EXISTS 的相关子查询:
SELECT a.username
FROM usuarios a
WHERE NOT EXISTS
(
SELECT *
FROM votes b
WHERE a.username = b.user -- no vote from this user
AND b.ano = 2019 -- in this year
AND b.mes = 1 -- and month
)
关于mysql - 如何查询两个表以获取未投票的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58981307/