0

在示例中

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

我需要知道哪个返回了 true?

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

提前致谢。

4

2 回答 2

1

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

于 2012-11-28T01:58:35.787 回答
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

于 2012-11-28T02:01:24.717 回答