如何在多个可选属性中找到最佳匹配

时间:2010-08-03 14:48:34

标签: database

假设我们有一个表,其中不同的列表示对象的属性,例如颜色,尺寸,型号......还有更多。如果我们查询Color = red,Size = M和Model = x,我们如何获得最佳匹配行。我想得到符合大多数指定条件的行,可能是

  1. 红,S,空
  2. 红色,null,null
  3. 红色,M,null
  4. 在这里,我应该获得第3排。

1 个答案:

答案 0 :(得分:2)

你可以创建一个返回0或1的SQL CASE表达式(如果你真的很挑剔,甚至是小数值),并对每个记录中列的值求和,然后将max应用于该伪列。