Database 如果第一个条件为真,如何在MySQL查询中使用OR并忽略第二个条件?
我使用的查询如下:Database 如果第一个条件为真,如何在MySQL查询中使用OR并忽略第二个条件?,database,mysql,sql,Database,Mysql,Sql,我使用的查询如下: SELECT * FROM table1 WHERE countries LIKE '%US%' OR countries LIKE '%ALL%'; 这将返回在countries列中包含“US”或“all”的所有条目,但我希望它只返回包含“US”的行,如果找到non,则使用下一个条件并返回所有包含“all”的行 可以只在一个查询中执行此操作吗?我认为不可能只在一个SQL查询中执行此操作。如果您使用的是mysql,尽管我没有尝试过此操作,但您可以尝试此操作 SELECT
SELECT * FROM table1 WHERE countries LIKE '%US%' OR countries LIKE '%ALL%';
这将返回在countries列中包含“US”或“all”的所有条目,但我希望它只返回包含“US”的行,如果找到non,则使用下一个条件并返回所有包含“all”的行
可以只在一个查询中执行此操作吗?我认为不可能只在一个SQL查询中执行此操作。如果您使用的是mysql,尽管我没有尝试过此操作,但您可以尝试此操作
SELECT IF(field1 is null, field2, field1) FROM table1;
这里字段1是“像我们这样的国家”,字段2是“像所有国家一样的国家” 通过使用子查询:
SELECT *
FROM table1
WHERE countries LIKE (CASE WHEN (SELECT COUNT(*)
FROM table1
WHERE countries LIKE '%US%') = 0
THEN '%ALL%'
ELSE '%US%'
END)