如何获取包含类别类型和组类型两个术语的产品标识
我有一个表ec\ U条款
电子商务术语产品
如何获取包含alias best offers和高级车的产品标识?
在这种情况下,产品id应该是4。
试过了,但什么也没出来
SELECT *, count(ec_terms_product.product_id) AS coutp
FROM ec_terms_product
LEFT JOIN ec_terms
ON ec_terms_product.term_id = ec_terms.id
WHERE 1=1
AND (ec_terms.alias IN ('best-offers') AND ec_terms.alias IN ('premium-cars'))
GROUP BY ec_terms_product.term_id ,ec_terms_product.product_id
你能帮我吗?
2条答案
按热度按时间whhtz7ly1#
分组依据
product_id
.使用带有distinct的group\ U concat,以逗号分隔的字符串获取产品的所有不同别名。
在having子句中使用find\ in\ set函数,可以过滤出产品id
你不需要这么做
Left Join
因为您只想考虑那些具有别名值的产品标识。所以,简单地使用Inner join
.请尝试以下操作:
332nm8kg2#
简单使用
group by
以及having
:请注意
LEFT JOIN
没有必要。一LEFT JOIN
只会增加查询的开销。更有效的方法是: