【发布时间】:2015-07-27 17:17:03
【问题描述】:
我不能真正使用 IN 语句,因为在我的情况下通配符是非常必要的。任何帮助表示赞赏。
AND ((NOT (j.Note LIKE '%audit%'
OR j.Note LIKE '%discrepancy%'
OR j.Note LIKE '%returns%'
OR j.Note LIKE '%shipment error%'
OR j.Note LIKE '%inventory adjustment%'))
OR j.Note IS NULL)
【问题讨论】:
-
REGEXP也许?不确定它实际上会更好。 -
你能改进你的数据结构吗?如果您有单独的列来跟踪给定行是否为审计、差异、返回等,您的查询会变得更加简单。值为 1 表示真和 0 表示假的 Tinyint 列就足够了。
-
@GeorgeCummins 这可能是最好的答案,但如果我们假设我无法修改数据结构,我仍然很好奇是否还有其他方法。
-
@NagasimhaIyengar 这与我当前的查询相同。它的问题是它的性能不是很好。
标签: mysql performance