我在 MySQL 表中列出产品属性,其中每一行都包含一个产品 IDprod
和一个属性 ID prop
。如果产品具有三个属性,则该产品会产生三行。示例表:
prod | prop
-----+-----
1 | 1
2 | 1
2 | 2
2 | 3
3 | 2
3 | 4
我怎样才能找到哪些产品同时具有属性#1 和#2(产品#2)?
我能想到的唯一方法是每个属性一个选择和内部连接,但我认为这将非常低效。它是一个网站的搜索功能,必须适用于表中的 10k 行和 10 个请求的属性。