我有以下表格;图像、用户、投票

领域:

图片->身份证、总数、状态

投票->用户id、图像id、投票

用户->身份证、姓名、通行证、状态

当用户在图像上投票时,"投票"表将更新其用户id、他们投票的图像(图像id)和他们的"投票".

我想查询该表以显示当前用户未投票的所有图像.以下是我的疑问:

SELECT * FROM image, vote WHERE vote.image_id != image.id

推荐答案

SELECT 
  * 
FROM image
WHERE 
  id NOT IN (
    SELECT image_id FROM vote WHERE user_id = USER_ID_HERE
  )

或者:

SELECT 
  image.*
FROM image
LEFT JOIN vote ON (
  vote.image_id = image.id AND vote.user_id = USER_ID_HERE
) 
WHERE vote.user_id IS NULL

Mysql相关问答推荐

MySQL没有使用S隐式附加到此二级索引的主键

了解MySQL_stmt_BIND_NAMED_Param()-MySQL C API

MySQL逻辑全部

在时间戳上搜索大的MySQL表很慢

使用触发器markdown 10%

在MySQL中使用FIRST_VALUE()

Mysql - Select 匹配某些条件的两条记录之间经过的最大天数

为什么MySQL不同版本的值会变化?

将 GORM 与自定义连接表和外键结合使用

MySQL如何在触发器内部 Select 多行然后插入它们

如何使用等于、喜欢和不等于在 json 字段上编写查询?

MYSQL 删除两个已知字符串之间的字符串

按长度过滤 varbinary 字段

如何根据特定条件从mysql数据库中 Select 查询

如何在 MySQL 中搜索多个列?

提高mysql导入速度

MySQL SELECT 增量计数器

计算执行的查询数

如何通过一个语句描述数据库中的所有表?

如何在执行 sql 脚本时 echo 打印语句