【问题标题】:Multiple WHERE, LIKE conditions多个 WHERE、LIKE 条件
【发布时间】:2016-09-27 18:56:21
【问题描述】:

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

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

我问的原因是我有大量的列要查找,并且我正在尝试找到最有效的方法来执行此操作,而无需编写这个冗长的查询。

任何建议将不胜感激。

【问题讨论】:

  • 不行,你要写出来;尽管您提出的查询总体上没有什么意义。
  • 您没有描述您遇到的问题。这个问题中也没有like
  • 我添加了like,以防有人建议涉及like。我目前也没有问题。我正在研究解决此问题的潜在方法,并决定在浪费太多时间之前先询问一下。虽然我在下面得到了答案。

标签: mysql sql regex where sql-like


【解决方案1】:

对于=/平等测试,有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...)

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

【讨论】:

  • 我害怕我必须把它全部写出来。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-16
  • 2021-09-14
  • 2012-05-19
  • 2022-01-19
  • 2015-06-16
相关资源
最近更新 更多