所以我有三个表:
产品有多个组件,至少一个,以及表格phc存储信息如何加入。因此,我可以检查给定产品的组件 - 这很容易。
但是现在我想做相反的检查:在选择了多个组件之后,我想知道每个产品都拥有它们。
我提出了这个问题:
SELECT DISTINCT phc.product_id
FROM product_has_component phc
JOIN product_component pc
ON pc.id = phc.component_id
AND (pc.component_character = 'A' OR pc.component_character = 'y')
它返回产品ID号,它们具有'A'OR'y'组件。
但我如何才能获得那些拥有'A'和'y'组件的人?
显然,用AND替换OR将不会返回任何内容,所以我猜这整个查询的结构都是错误的。
我还想过用'A'选择全部,然后用'y'选择全部,然后尝试找到共同产品,但这似乎是非常无效的解决方案。