多个 WHERE、LIKE 条件

Multiple WHERE, LIKE conditions

这个查询有效吗?还是我需要再分解一下?

SELECT SUM(colA) as 'colA',
       SUM(colB) as 'colB'
FROM tblName 
WHERE colA,colB REGEXP 'Fail'
OR colA, colB='Pass'
ORDER BY colA, colB;

我问的原因是我有大量的列要查找,我正在尝试发现最有效的方法而不用编写这个冗长的查询。

如有任何建议,我们将不胜感激。

对于 =/相等性测试,有 IN 符号:

WHERE x=1 or x=2 or x=3 ....
WHERE x='pass' or y='pass' or ....

可以是简单的

WHERE x IN (1,2,3,....)
WHERE 'pass' IN (x,y,....)

您可以使用正则表达式匹配做类似的事情,例如

WHERE 'Fail' REGEXP CONCAT(colA, colB, etc...)

但这完全取决于您的正则表达式模式。对于其他任何事情,都没有捷径可走。你必须把它全部写出来。