我在MySQL数据库中有两个表,请参阅下面的数据库结构:
tbl_product
id
1
2
3
tbl_product_filter
id | product_id | product_filter_value
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2
6 3 1
如何获得仅具有product_filter_value
1 和 2 字段值的产品?
答案 0 :(得分:1)
使用子查询:
SELECT *
FROM tbl_product
WHERE id IN (
SELECT product_id
FROM tbl_product_filter
WHERE product_filter_value IN (1, 2)
)
使用联接(此查询可能会多次显示一个产品):
SELECT tbl_product.*
FROM tbl_product
INNER JOIN tbl_product_filter ON tbl_product.id = tbl_product_filter.product_id
WHERE product_filter_value IN (1, 2)
答案 1 :(得分:0)
SELECT tbl_product.*
FROM tbl_product_filter
INNER JOIN tbl_product USING (product_id)
WHERE product_filter_value IN (1, 2)
GROUP BY tbl_product_filter.product_id