gpt4 book ai didi

mysql - 确定一个我匹配所有集合成员的集合

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

我需要确定产品列表中每种产品应使用的价目表。用于给定产品的正确价目表是由我已经知道的几个产品参数确定的。但是,并非所有参数都适用于所有价目表。以下是 3 个价目表的“标准”示例:

pricelist_key    param     value
A size n1
A weight n2
A color n4
B size n5
B weight n6
B color n8
B type n10
C weight n2
C min_size n5

要回答的问题是:“我的产品符合由pricelist_key标识的哪组标准值”?

我已确保每组参数值都是唯一的 - 换句话说,每个价目表都有一组唯一的标准和/或值 - 我无法满足多个价目表的所有标准。我事先知道必须根据其构建所有价目表的完整参数集,但任何给定的价目表都可以使用这些参数的任何子集作为其标准。

在程序上,我会循环遍历产品、循环遍历价格表和循环遍历参数。我错过的第一个参数将使我跳到下一个价目表,直到找到产品满足所有标准的一个价目表。下一步是简单地在已识别的价格表中查找日期并获取在那里找到的一个价格。

但我正在处理集合(在本上下文中为“价目表标准集”),并且我想了解如何将其视为自然的 SQL 问题 - 因为它似乎应该如此。我可以自由地重新设计标准的管理方式,这只是我自己陷入的困境。设计目标是处理可用于定义价目表标准的许多不同参数。

建议?

最佳答案

假设我们看到的是一种给定产品的价格表的一部分,并且您需要找到一个与事先已知的所有条件相匹配的 Pricelist_key,您可以使用如下查询来查找它:

SELECT pricelist_key, count(*) as params_matched FROM pricelist
WHERE product_id = 1
AND
( param = 'weight' AND value = 'n6'
OR param = 'size' AND value = 'n5'
OR param = 'color' AND value = 'n8' )
GROUP BY pricelist_key
HAVING params_matched = 3

关于mysql - 确定一个我匹配所有集合成员的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18816093/

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