gpt4 book ai didi

mysql - 选择具有多个可能值的所有行

转载 作者:行者123 更新时间:2023-11-29 16:30:59 25 4
gpt4 key购买 nike

我试图从产品表 (*) 中获取具有以下 sub_property 集的所有字段:

subprop_name=X
subprop_value=Y

我有下表:

https://imgur.com/a/y4LGqMI (无法上传图片,因为格式不被接受)

举个例子,如果我有两个产品,它们的 sub_property 表中有这样的条目:
subprop_name=X
subprop_value=Y

我想返回。正如架构所描述的,一个产品可以有多个 sub_property 条目!

到目前为止,这就是我所拥有的:

SELECT prod_id,prod_name from product WHERE product.prod_id IN
(
SELECT property.product_prod_id FROM property WHERE property.prop_id IN
(
SELECT property_prop_id from sub_property WHERE
(
sub_property.subprop_name="Type de scanner" AND sub_property.subprop_value="par transparence"
)
OR
(
sub_property.subprop_name="Pages/minute maximum" AND subprop_value="8.5 pages"
)
)
)

但显然,由于“OR”,它不起作用。

它返回具有一组 sub_property 的所有项目,而不是具有所有 sub_property 组的所有产品。

数据库HERE

最佳答案

对元组使用 JOIN 和 IN 可能是一个简单的解决方案。

SELECT p.prod_id, p.prod_name
FROM product p
JOIN property AS prop
ON prop.product_prod_id = p.prod_id
JOIN sub_property AS subprop
ON subprop.property_prop_id = prop.prop_id
WHERE (subprop.subprop_name, subprop.subprop_value) IN (
('Type de scanner', 'par transparence'),
('Pages/minute maximum', '8.5 pages')
)
GROUP BY p.prod_id, p.prod_name

关于mysql - 选择具有多个可能值的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53915582/

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