Jyo*_*ish 2 mysql sql database select
如果我有一个MySQL表看起来像这样:
| NAME | STATUS | DESIGNATION |
-------------------------------
| ABCD | 0 | MD |
| DCFG | 1 | CEO |
| AHSG | 1 | DD |
Run Code Online (Sandbox Code Playgroud)
是否可以运行MySQL查询以获得如下输出:
| NAME | STATUS | DESIGNATION |
-------------------------------------------
| ABCD | No | Managing Director |
| DCFG | YES | Chief Executive Officer |
| AHSG | YES | Deputy Director |
Run Code Online (Sandbox Code Playgroud)
你可以使用CASE声明:
SELECT Name
,CASE Status
WHEN 0 THEN 'No'
WHEN 1 THEN 'YES'
END AS Status
,CASE Designation
WHEN 'MD' THEN 'Managing Director'
WHEN 'CEO' THEN 'Chief Executive Officer'
WHEN 'DD' THEN 'Deputy Director'
END AS Designation
FROM MyTable;
Run Code Online (Sandbox Code Playgroud)
如果您只有两个条件,那么只需使用ELSE而不是第二个条件:
SELECT Name
,CASE Status
WHEN 0 THEN 'No'
ELSE 'YES' <--- I mean use this instead of WHEN 1 THEN 'YES'
END AS Status
,CASE Designation
WHEN 'MD' THEN 'Managing Director'
WHEN 'CEO' THEN 'Chief Executive Officer'
WHEN 'DD' THEN 'Deputy Director'
END AS Designation
FROM MyTable;
Run Code Online (Sandbox Code Playgroud)
结果:
| NAME | STATUS | DESIGNATION |
-------------------------------------------
| ABCD | No | Managing Director |
| DCFG | YES | Chief Executive Officer |
| AHSG | YES | Deputy Director |
Run Code Online (Sandbox Code Playgroud)