我正在使用这样的查询:
SELECT * FROM table1 WHERE countries LIKE '%US%' OR countries LIKE '%ALL%';
这将返回在国家列中具有“US”或“ALL”的所有条目,但我希望它仅返回包含“US”的那些行,如果未找到则使用下一个条件并返回所有包含“全部”。
是否可以只在一个查询中执行此操作?
最佳答案
通过使用子查询:
SELECT *
FROM table1
WHERE countries LIKE (CASE WHEN (SELECT COUNT(*)
FROM table1
WHERE countries LIKE '%US%') = 0
THEN '%ALL%'
ELSE '%US%'
END)
关于database - 如何在 MySQL 查询中使用 OR 并在第一个条件为真时忽略第二个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3938041/