gpt4 book ai didi

sql - LEFT 加入右表中的数据

转载 作者:行者123 更新时间:2023-11-29 12:08:19 24 4
gpt4 key购买 nike

我的 sql 连接请求有问题,我需要为我的用户 1 获取左表中未在右表中引用或在右表中引用且状态等于 0 的行。我还需要右表的字段状态这是我的两个表:

Table left
ID | title
1 | Title 1
2 | Title 2
3 | Title 3
4 | Title 4
5 | Title 5

Table right
ID | status | user | left_id
1 | 0 | 1 | 1
2 | 0 | 50 | 1
3 | 1 | 1 | 2
4 | 0 | 50 | 2
5 | 0 | 1 | 3
6 | 1 | 50 | 3

我的目标是得到这个结果:

left.ID | left.title | right.status | right.user
1 | Title 1 | 0 | 1
3 | Title 3 | 0 | 1
4 | Title 4 | NULL | NULL
5 | Title 5 | NULL | NULL

我需要正确的信息来验证状态字段是否存在。

这是我目前的要求:

SELECT l.title, r.status
FROM left as l
LEFT JOIN right as r ON l.id = r.left_id AND r.user = 1 AND r.status = 0

问题是我得到了 Title 2 行,我不知道如何删除这一行。如果有人可以帮助我。

谢谢

最佳答案

这个呢

SELECT l.id, l.title, r.user, r.status
FROM left as l
LEFT JOIN right as r ON l.id = r.left_id
WHERE r.left_id IS NULL or (r.user = 1 AND r.status = 0)

r.left_id IS NULL 将保留不在右表中的左侧记录,并且 or (r.user = 1 AND r.status = 0) 将保留具有请求值的左记录。

关于sql - LEFT 加入右表中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49667205/

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