首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL多对多选择

SQL多对多选择
EN

Stack Overflow用户
提问于 2010-08-15 16:01:37
回答 5查看 65.6K关注 0票数 31
代码语言:javascript
复制
category_product
---------------
id_category
id_product

product
---------------
id_product
id_manufacturer

manufacturer
---------------
id_manufacturer
name

当id_category等于某个值时,我如何创建一个SQL查询,以便它选择制造商中的所有名称?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-08-15 16:05:39

这是一个简单的表的内部连接:

代码语言:javascript
复制
SELECT m.name, cp.id_category
FROM manufacturer as m
INNER JOIN product as p
    ON m.id_manufacturer = p.id_manufacturer
INNER JOIN category_product as cp
    ON p.id_product = cp.id_product
WHERE cp.id_category = 'some value'
票数 48
EN

Stack Overflow用户

发布于 2010-08-15 16:09:29

没有连接的查询将如下所示:

代码语言:javascript
复制
SELECT m.name 
FROM manufacturer as m, product as p, category_product as cp 
WHERE cp.id_category = <your value>
      AND cp.id_product = p.id_product 
      AND p.id_manufacturer = m.id_manufacturer 
票数 16
EN

Stack Overflow用户

发布于 2010-08-15 16:14:09

代码语言:javascript
复制
Select M.name
From   manufacturer M
Where  M.id_manufacturer in ( Select P.id_manufacturer
                              From   product P
                              Where  P.id_product in ( Select C.id_product
                                                       From   category_product C
                                                       Where  C.id_category = ?))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3486644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档