gpt4 book ai didi

Mysql join where specific record in one table not in other

转载 作者:太空宇宙 更新时间:2023-11-03 11:59:37 25 4
gpt4 key购买 nike

我已经查看了“一个表中的数据而不是其他表中的数据”SQL 的其他示例,但仍然无法弄清楚这一点。

“图片”表包含:

  • "id", 这张图片的自增ID号
  • “所有者”,指代唯一用户的 ID 号

表“ratings”包含:

  • “picture”,对“pictures”表中条目的引用
  • “userby”,指代唯一用户的 ID 号

我想选择所有特定用户在评级表中没有条目的图片,并且图片所有者不是该用户。

例如,我可能想选择用户 5 未评价且不是其所有者的所有图片。

通常这将是图片和评级之间的连接,并检查评级记录是否为空,但我似乎无法获得仅对特定用户执行此操作的权利。

我该怎么做?如果可能,我想避免子选择。谢谢。

最佳答案

您需要将额外的检查添加到连接谓词而不是 where 子句中。

有点像

SELECT *
FROM pictures p LEFT JOIN
ratings r ON p.ID = r.PictureID AND r.UserID = 5
WHERE r.ID IS NULL
AND p.OwnerID <> 5

看看这个例子

SQL Fiddle DEMO

关于Mysql join where specific record in one table not in other,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30115562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com