You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中依据关联规则生成Color与Size列的所有有效组合查询方法

SQL Server 颜色尺码有效组合查询实现方案

核心思路

  • 先生成Color表和Size表的全量笛卡尔积,覆盖所有可能的颜色+尺码组合
  • 将全量组合与LinkedColorSize规则表做条件匹配,匹配逻辑满足两个条件即可命中:
    • 规则的Color字段值为'0',或规则的Color值与当前组合的颜色名称完全相等
    • 规则的Size字段值为'0',或规则的Size值与当前组合的尺码名称完全相等
  • 对命中的组合做去重处理,避免多条规则命中同一组合导致重复输出

完整实现代码

SELECT DISTINCT
    c.ColorName,
    s.SizeName,
    -- 可按需保留拼接后的组合值
    CONCAT(c.ColorName, '-', s.SizeName) AS CombinedResult
FROM Color c
-- 生成所有颜色+尺码的全组合
CROSS JOIN Size s
-- 关联规则表做匹配
INNER JOIN LinkedColorSize lcs
    ON (lcs.Color = '0' OR lcs.Color = c.ColorName)
    AND (lcs.Size = '0' OR lcs.Size = s.SizeName)
ORDER BY CombinedResult

提示:如果你的LinkedColorSize表中Color、Size字段为数值类型,仅需将匹配条件里的'0'去掉单引号改为0即可。

场景兼容验证

以示例场景验证:

示例LinkedColorSize数据:

  • LinkID=1:Color=Red、Size=Large
  • LinkID=2:Color=Green、Size=0
    执行上述SQL后输出结果为:Red-Large、Green-Small、Green-Large,和预期完全一致。
    同时支持所有规则组合场景:
  • 规则Color=0且Size=0:返回所有颜色+尺码的全组合
  • 规则仅Color=0:返回所有颜色匹配指定Size的组合
  • 规则仅Size=0:返回指定Color匹配所有尺码的组合

内容的提问来源于stack exchange,提问作者Durgesh Padha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 10:39:03