【发布时间】:2017-11-07 04:28:08
【问题描述】:
这是产品表:
+-----------+
| id | name |
+-----------+
| 1 | A |
+-----------+
| 2 | B |
+-----------+
| 3 | C |
+-----------+
这是 product_filter 表:
+-----------------+-----------+
| id | product_id | filter_id |
+-----------------+-----------+
| 1 | 1 | 1 |
+-----------------------------+
| 2 | 1 | 2 |
+-----------------------------+
| 3 | 2 | 1 |
+-----------------------------+
| 4 | 2 | 2 |
+-----------------------------+
| 5 | 2 | 3 |
+-----------------------------+
| 6 | 3 | 1 |
+-----------------------------+
| 7 | 3 | 3 |
+-----------------------------+
我想如果 product_filter.filter_id = 1 和 product_filter.filter_id = 2 product.id 的结果是 1 和 2
如果 product_filter.filter_id = 1 和 product_filter.filter_id = 3 则 product.id 的结果是 1 和 3
这是我的查询,它不起作用:
SELECT `products`.`id`, `product_filter`.`filter_id`
FROM `products`
JOIN `product_filter` ON `product_filter`.`product_id` = `products`.`id`
WHERE `product_filter`.`filter_id` = '1' AND `product_filter`.`filter_id` = '2'
【问题讨论】: