gpt4 book ai didi

sql - 如何在此查询中正确使用 LEFT JOIN IS NULL 或 NOT EXISTS?

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:20 24 4
gpt4 key购买 nike

经过几十次尝试,我仍然得到错误的结果,所以我想我最好寻求帮助。

表格:

labels
id, user_id, name

messages_labels
id, message_id, label_id

labels.id 指的是message_labels.label_id

如何在给定 message-id 和 user_id 的情况下获得未使用标签的正确结果?我所说的未使用标签是指在 message_labels 中没有针对给定消息 ID 的条目的标签,基本上只是选择要添加到尚未用于此消息的消息的标签。

这意味着……

SELECT l.id, l.name
FROM labels l
INNER/LEFT JOIN messages_labels ml ON (l.id=ml.label_id)
WHERE... user_id=:user_id ...

... and `message_id <> :message_id`

??

最佳答案

这应该有效:LEFT JOIN 在 label_id 和消息 id 上,任何没有 ML 记录的东西都是你想要的

SELECT 
l.id, l.name
FROM labels l
LEFT JOIN message_labels ml
ON l.id = ml.label_id
AND message_id = :message_id
WHERE l.user_id = :user_id
AND ml.id IS NULL

关于sql - 如何在此查询中正确使用 LEFT JOIN IS NULL 或 NOT EXISTS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782188/

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