gpt4 book ai didi

MYSQL:获取不属于某个类别的项目

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

我有两个代表帖子及其类别的表格。
这是一个简化的表架构:

posts                post_categories
----- ----------------
-id -post_id
-title -cat_id
-text

我需要获取所有不属于类别“5”的帖子:

SELECT * FROM `posts` WHERE id NOT IN( SELECT id FROM `posts`, 
`post_categories` AS cat WHERE cat.cat_id=5 AND posts.id=cat.post_id )

我正在使用子查询,因为帖子不属于任何类别,所以如果我做一个简单的:

cat_id!=5 AND posts.id=post_id

我不会收到那些没有类别的帖子。

有没有比子查询更好的方法?

最佳答案

你做一个 LEFT JOIN:

SELECT DISTINCT `field1`,`field2`...etc FROM `posts` a LEFT JOIN `post_categories` b ON a.id=b.post_id  WHERE b.cat_id <> 5

应该可以!

关于MYSQL:获取不属于某个类别的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15897902/

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