2

次のような MySQL テーブルがあるとします。

| NAME | STATUS | DESIGNATION |
-------------------------------
| ABCD |      0 |          MD |
| DCFG |      1 |         CEO |
| AHSG |      1 |          DD |

次のような出力を取得するために MySQL クエリを実行することは可能ですか。

| NAME | STATUS |             DESIGNATION |
-------------------------------------------
| ABCD |     No |       Managing Director |
| DCFG |    YES | Chief Executive Officer |
| AHSG |    YES |         Deputy Director |
4

2 に答える 2

5

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;

条件が 2 つしかない場合はELSE、2 番目の条件の代わりに使用します。

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;

結果:

| NAME | STATUS |             DESIGNATION |
-------------------------------------------
| ABCD |     No |       Managing Director |
| DCFG |    YES | Chief Executive Officer |
| AHSG |    YES |         Deputy Director |

このSQLFiddleを参照してください

于 2013-04-29T07:34:59.180 に答える
4

このクエリを試してください

SELECT Emplyee, if (status = 0, 'No', 'Yes') AS 'Status' from table

編集済み

SELECT 
   Emplyee, 
   if (status = 0, 'No', 'Yes') AS 'Status',
   CASE Designation 
      WHEN 'MD' THEN 'Managing Director' 
     WHEN 'CEO' THEN 'Chief Executive Officer' 
     WHEN 'DD' THEN 'Deputy Director' 
   END AS Designation 
FROM
   table

お役に立てれば..

于 2013-04-29T07:33:44.063 に答える