帮助将SQL嵌套子查询转换为连接查询,以实现mysql 4.0兼容性
我有一个嵌套的SQL查询:帮助将SQL嵌套子查询转换为连接查询,以实现mysql 4.0兼容性,sql,mysql,left-join,self-join,nested-queries,Sql,Mysql,Left Join,Self Join,Nested Queries,我有一个嵌套的SQL查询: SELECT DISTINCT(topic_id) FROM bb_posts WHERE topic_id NOT IN ( SELECT topic_id FROM bb_posts WHERE poster_id = $user_id AND post_status = 0 ) ORDER BY post_time DESC 我的Web服务器运行MySQL 4.0,它不允许嵌套查询。一些SQL专家可以使用连接行话建议相同的查询吗?我试了又试了又
SELECT DISTINCT(topic_id)
FROM bb_posts
WHERE topic_id NOT IN (
SELECT topic_id FROM bb_posts
WHERE poster_id = $user_id AND post_status = 0 )
ORDER BY post_time DESC
我的Web服务器运行MySQL 4.0,它不允许嵌套查询。一些SQL专家可以使用连接行话建议相同的查询吗?我试了又试了又试。。。但我想不出来。感觉哑巴。假设topic\u id不可为空,您可以执行以下操作:
SELECT DISTINCT(T1.topic_id)
FROM bb_posts As T1
Left Join bb_posts As T2
On T2.topic_id = T1.topic_id
And T2.poster_id = $user_id
And T2.post_status = 0
Where T2.topic_id Is Null
ORDER BY T1.post_time DESC
我不太清楚你的要求是什么,但通过查看你的问题,我认为这应该足够了
SELECT DISTINCT(topic_id)
FROM bb_posts
WHERE poster_id <> $user_id OR post_status <> 0
ORDER BY post_time DESC
选择不同的(主题id)
来自bb_的帖子
其中poster\u id$user\u id或post\u状态为0
邮购时间描述
应该是posterid$user\u id还是post\u status 0
?基本要求是:我想要一个用户没有回复或自己没有开始的主题列表。每个主题至少有一个或多个带有主题id和用户id的帖子。您的答案也将返回用户已回复的帖子。是的,Thomas,您是对的。编辑了我的答案。我猜试图快速使用枪支会导致一个错误P