MYSQL:在连接表中选择多个元素(AND)?

时间:2017-11-08 14:49:42

标签: mysql

所以我有三个表:

  • 产品(p)
  • product_has_component(phc)
  • product_component(pc)

产品有多个组件,至少一个,以及表格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'选择全部,然后尝试找到共同产品,但这似乎是非常无效的解决方案。

0 个答案:

没有答案