【发布时间】:2023-01-31 01:24:50
【问题描述】:
假设我有一个包含 A、B、C、D、E 和 F 列的表格。
我将如何查询条目 where (A, B, C, D, E, F) = (1, 2, 3, 4, 5, 6) 但只有一部分列需要匹配?例如,6 列中至少有 3 列必须匹配。
我能想到的唯一解决方案是遍历所有组合where (A, B, C) = (1, 2 ,3) or (A, B, D) = (1, 2, 4) or...
但是在这个例子中,如果我的数学是正确的,那已经是 20 个 where 子句了。有没有更好的解决方案,也适用于更多列?或者我唯一的选择是以编程方式创建一个巨大的、非人类可读的查询字符串,其中包含数百个 where 子句?
【问题讨论】:
标签: mysql sql where-clause combinatorics