这个SQL语句怎么实现?

tinderman 2007-01-27 11:08:17
有一个产品表(产品ID,产品名称),一个分类表(分类ID,分类名称)和一个产品分类表(产品ID,分类ID),想查询既属于分类1,又属于分类2和分类3的所有产品,如何写SQL语句.
...全文
117 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengjijia 2007-01-27
  • 打赏
  • 举报
回复
select 产品ID,产品名称,分类ID,分类名称 from (select a.分类ID,a.分类名称,c.产品ID,c.产品名称 from (select 分类ID,分类名称 from 分类表 where 分类 in(1,2,3)) a inner join 产品分类表 b on a.分类ID=b.分类ID inner join 产品表 c b.产品ID=c.产品ID)
冷箫轻笛 2007-01-27
  • 打赏
  • 举报
回复
--如果已知分类1、分类2 是分类名称
select * from 产品表 where 产品ID in
(select 产品ID
from 产品分类表 a inner join 分类表 b on a.分类ID = b.分类ID
where b.分类名称 = '分类1' or b.分类名称 = '分类2' or b.分类名称 = '分类3'
group by 产品ID having count(1) = 3
)

--如果已知分类1、分类2 是分类ID
select * from 产品表 where 产品ID in
(select 产品ID
from 产品分类表 b
where b.分类id = '分类1' or b.分类ID = '分类2' or b.分类ID = '分类3'
group by 产品ID having count(1) = 3
)

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧