是否有可能获得OR查询的结果

SELECT name FROM table WHERE age = 18 OR age = 0


结果:

| name |
----------
| Tim |
| Tom |
| Olli |


但是我需要:

结果:

| name | alias |
------------
| Tim | no-age |
| Tom | age18 |
| Olli | age18 |


这可能吗?

最佳答案

您可以使用case表达式将年龄转换为所需的结果。
还请注意,可以使用where运算符重写in子句中的条件,以使其更加美观:

SELECT name, CASE age WHEN 0 THEN 'no-age' ELSE 'age18' END AS `alias`
FROM   mytable
WHERE  age IN (18, 0)

关于mysql - MySQL的或查询结果别名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42805360/

10-11 01:38
查看更多