gpt4 book ai didi

mysql - 只获取表中存在的行?

转载 作者:行者123 更新时间:2023-11-29 01:20:05 26 4
gpt4 key购买 nike

我需要从表中选择所有行:AnnouncementsCategories_announcements 中存在行的用户按条件:

Categories_user.category_id = Categories_announcements.category_id

我尝试了 SQL 查询,请参阅 link

它应该只返回一行 Announcements.id = 1,因为用户在 Categories_user.category_id 中只有一个类别。

编辑:

我已经测试了您分享的 SQL,所以这是查询:

select *
from `announcements`
where exists (
select 1
from `announcement_category`
inner join `user_category` on `user_category`.`category_id` = `announcement_category`.`category_id`
where `Auser_category`.`user_id` = 1
and `announcement_category`.`announcement_id` = announcements.id
)

它返回一个错误:

#1064 - 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本对应的手册,了解在第 7 行的 ') LIMIT 0, 25' 附近使用的正确语法

最佳答案

我认为您不需要 EXISTS 子查询。基本的连接语句应该可以工作。

select a.* 
from Categories_user cu
join Categories_announcements ca on ca.category_id = cu.category_id
join Announcements a on a.id = ca.announcement_id
where cu.user_id = 1

关于mysql - 只获取表中存在的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458154/

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