0

我有一个数据视图,其中有趣的列是长度、高度、颜色 1 和颜色 2,其中颜色 1 和颜色 2 可以是黄色、红色、蓝色、黑色、白色或绿色中的任何一种。在我得到具有一定长度和高度但只有红色、蓝色和绿色颜色的行的情况下,应用过滤器的最佳方法是什么?

当可能的颜色增加时,下面的过滤器感觉有点“难看”:

"length > 10 AND height > 10 AND (color1 = 'red' OR color1 = 'blue' OR color1 = 'green') AND (color2 = 'red' OR color2 = 'blue' OR color2 = 'green')"

或者这是唯一/最简单的方法?

4

1 回答 1

8

不幸的是,这是“SQL 风格”查询的本质 :)

IN子句可能会使该查询更简单:

"length > 10 AND height > 10 AND color1 IN ('red', 'blue', 'green') AND color2 IN ('red', 'blue', 'green')"
于 2009-02-16T07:16:44.533 回答