gpt4 book ai didi

mysql - sql查询即使条件不满足也可以获取数据

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

我对sql不好,所以请不要因为这种基本问题而骂我。目前我正在做很多关于其他技术的功课,所以当我有时间研究它时,我会改进它。不管怎样,让我们​​进入正题。

我的问题是针对以下查询。我正在尝试从三个表中获取数据,只要满足所有条件,它就可以正常工作,但问题是对于发布,可能会出现图像不存在的情况,即不记录图像表中的发布,然后 post .post_id = img.post_id 和 img.sequence='1' 条件失败并且没有返回任何行,但我希望即使图像中没有用于发布的记录也可以返回行。在这种情况下,为图像路径列返回 null。

SELECT 
img.path as path, pav.value_text as beds, post.post_id as postID
FROM
postings post, post_attributes_values pav, images img
where
post.post_id = pav.post_id and post.status !='expired' and pav.attr_id='33' and post.post_id = img.post_id and img.sequence='1' and post.post_id=49

如果所有条件都满足那么O/P就来了

    path                beds          postId
-----------------------------------------------
saome path value 2 49

但是如果 post.post_id = img.post_id 和 img.sequence='1' 条件不满足,那么 O/P 应该是这样的:

    path        beds          postId
----------------------------------------
null 2 49

最佳答案

使用左外连接

SELECT 
img.path as path, pav.value_text as beds, post.post_id as postID
FROM
postings post
inner join post_attributes_values pav on post.post_id = pav.post_id and pav.attr_id='33'
left outer join images img on post.post_id = img.post_id and img.sequence='1'
where post.status !='expired' and post.post_id=49

关于mysql - sql查询即使条件不满足也可以获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716956/

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