gpt4 book ai didi

mysql - mysql中的join条件需要忽略null字段

转载 作者:行者123 更新时间:2023-12-01 00:25:32 24 4
gpt4 key购买 nike

我有两个表:post、post_image

我目前正在尝试像这样加入他们:

$sql = 'SELECT post.*, post_image.name AS img FROM post, post_image 
WHERE post_image.postId=post.id LIMIT 10';

这是我的问题。有些帖子在 post_image 中没有任何条目,但我仍然需要将它们也返回。我知道 mysql 可以检查 null,但我不确定如果那是解决方案,它会在我的语句中放在哪里。我也不完全确定我可以使用我正在使用的速记连接来做到这一点。

请帮忙:)

编辑:

这现在按预期工作,但我还需要确保它只提取字段 ordinal=0 的 post_image,因为可以有多个 post_image 条目。我尝试添加一个 WHERE 子句,但它似乎只能提取带有图像的帖子。这是我所拥有的:

SELECT post.*, post_image.name AS img FROM post LEFT JOIN post_image ON post_image.postId=post.id WHERE post_image.ordinal=0 LIMIT 10

最佳答案

像这样使用 LEFT JOIN:

SELECT 
post.*,
post_image.name AS img
FROM post
LEFT JOIN post_image ON post_image.postId = post.id
LIMIT 10;

您的查询是 INNER JOIN 这两个表使用旧的连接语法,它使用 WHERE 子句来指定连接条件。最好在以后的查询中使用使用 INNER JOIN 条件的显式 JOIN 语法。

更多信息:

关于mysql - mysql中的join条件需要忽略null字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082641/

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