Mysql,有没有办法知道哪些条件在多个条件下返回true?

时间:2012-11-28 01:56:20

标签: mysql conditional-statements where

在示例中

SELECT * FROM users WHERE first_name LIKE'%a%'或last_name LIKE'%a%';

我需要知道哪一个返回了真的?

我知道我可以运行单独的查询,但是有更优化的方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以像这样修改查询: SELECT *,CASE WHEN <condition 1> THEN 1 ELSE 0 END as Cond1, .... FROM ...并检查该列名称值

答案 1 :(得分:0)

您可以使用类似的东西,它实现CASE语句:

SELECT firstname, lastname,
  case 
    when firstname LIKE '%a%' then 'firstname match' 
    when lastname LIKE '%a%' then 'last name match'
    else null
    end matchedcol
FROM users 
WHERE firstname LIKE '%a%' OR lastname LIKE '%a%';

请参阅SQL Fiddle with Demo