gpt4 book ai didi

mysql - SQL - 如何使用 AND 运算符在使用 JOIN 后起作用

转载 作者:行者123 更新时间:2023-11-29 06:58:25 26 4
gpt4 key购买 nike

我有一个“产品”表:

id | name
---------
1 | nike
2 | adidas

和“过滤器”表:

id | name
---------
1 | red
2 | blue

和“PRODUCTS_FILTERS”表:

product_id | filter_id
-----------------------
1 | 1
1 | 2
2 | 2

我需要一个 SQL 查询,该查询将仅返回具有 filter1filter2 的产品(在我的示例中为“nike”产品)。

当我运行以下 SQL 查询时:

select products.* from products 
join product_filters on products.id = product_filters.productId
join filters on product_filters.filterId = filters.id
where filters.id = 1 AND filters.id = 2

尽管“nike”产品在 PRODUCTS_FILTERS 中具有 filter1(红色)和 filter2(蓝色),但我不明白任何结果,因为 joinnike 产品生成了 2 个不同的行。

如何解决我的查询?

最佳答案

    SELECT products.*
FROM products
INNER JOIN products_filters
ON product_filters.productId = products.id
INNER JOIN filters
ON filters.id = product_filters.filterId
AND filters.id in (1,2)

关于mysql - SQL - 如何使用 AND 运算符在使用 JOIN 后起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44662148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com