【发布时间】:2011-11-01 16:25:34
【问题描述】:
我有一个继承的数据库,需要创建一个查询来生成 SKU 的所有可能变体。一个表具有“基本”SKU,另一个表具有所有 SKU 修饰符。
示例
基础 SKU:MARIN 可以修改为
MARINR15 MARINB15 MARING15 MARINR17 MARINB17 MARING17 MARINR19 MARINB19 MARING19 MARINR20 MARINB20 MARING20
基本 SKU
ProductID SKU
----------- ---------------
532 MARIN
SKU 修饰符
ProductID OptionName OptionValue SkuModifier
----------- -------------------- ------------------------ -----------
532 Color Red R
532 Color Green G
532 Color Blue B
532 Size 17" 17
532 Size 15" 15
532 Size 19" 19
532 Size 20" 20
【问题讨论】:
-
这不够通用,或者您的问题不够清晰。您似乎要添加
OptionValue的第一个字符,其中OptionName是颜色,但如果OptionName是大小,则添加OptionValue的数字部分。你还有哪些OptionNames,他们是如何对待的? -
抱歉,格式似乎关闭了,并且“SkuModifier”列已关闭。这些值来自“SkuModifier”列。
-
@Bryan - 您是否(可能)拥有超过 2 组修饰符 - 或者只是与此处列出的修饰符不同的修饰符?以及如何确定修饰符的顺序(串联顺序)?
-
@X-Zero 有可能存在一组或多组修饰符。如果所有可能的组合都在那里,订单并不是什么大问题,因为我有另一个表,其中包含来自我们仓库的数据,其中包含所有修改后的 SKU,但没有 ProductID。
-
@Bryan - 我想没有
order是有道理的,因为有些产品可能不需要特定的修饰符(......您希望如何处理这些修饰符?)。请注意,您最终会得到一个大的中间集。但如果 是 的情况......什么决定了获取 SKU 时要使用的“规范”排序(保持两个 SKU 具有相同的修饰符,但顺序不同)?
标签: sql tsql concatenation skus