【发布时间】:2020-06-17 08:36:23
【问题描述】:
我有三个表 products、portfolio_mapping 和 category。每个产品都有多个投资组合映射和多个类别。在以下查询中,我想获取产品所属的所有类别。以下查询仅返回条件为真的类别。当条件为真时,我想拥有产品的所有类别。
我在WHERE 子句中使用了一个子查询,它返回一个product_id。
现在对于这个 product_id,我想获取所有类别。任何想法我在这里做错了什么。
SELECT c.category_names
FROM
product AS pd
LEFT JOIN
portfolio_mapping AS p
ON
pd.product_id = p.product_id
LEFT JOIN
category_mapping AS c
ON
pd.product_id = c.product_id
WHERE pd.product_id IN
( SELECT c.product_id FROM category_mapping AS c
WHERE (p.portfolio_mapping_id = 1 AND p.value = 'Yes')
AND (c.category_id = 1 AND c.value = 'Yes') )
【问题讨论】: