用于匹配一列

时间:2016-06-16 08:44:23

标签: mysql sql

dfsdfi有这些表

产品

product_id      name
51                a
52                 b
53                 c
54                 s
55                 e

product_filter

product_id      filter_id
52                 11
53                 22
54                 33
52                 22
54                 11

filter_group_description

filter_group_id     filter_id        name
1                     11             white  
1                     22             black
2                     33             formals
2                     44             casuals

filter_group

filter_group_id      name
1                   Colour
2                   Style  

我想要的是产品名称,颜色是黑色和白色,但风格应该是正式的..

2 个答案:

答案 0 :(得分:0)

我认为你需要这样的东西:

SELECT * FROM product_filter p 
INNER JOIN filter_group f ON f.filter_id = p.filter_id 
WHERE p.filter_id IN (11,22,33,44)

如果您只想返回某些列,请更改*

答案 1 :(得分:0)

SELECT p.product_id, p.filter_id, f.filter_group_id
FROM `product_filter` p
JOIN `filter_group` f
ON p.filter_id = f.filter_id