2

次のようなテーブルがあります。

+------+--------+-----------+
|      | name   | type_id   |
+------+--------+-----------+
|    1 | Bob    | 3         |
|    2 | Tony   | 2         |
|    3 | Sheila | 2         |
|    4 | Sarah  | 8         |
|    5 | Tom    | 7         |
+------+--------+-----------+

type_id を 'type' という新しい列にグループ化したい。type_id 2 と 8 の値は「yes」になり、それ以外はすべて「no」になるため、結果は次のようになります。

+------+--------+-----------+------+
|      | name   | type_id   | type |
+------+--------+-----------+------+
|    1 | Bob    | 3         | no   |
|    2 | Tony   | 2         | yes  |
|    3 | Sheila | 2         | yes  |
|    4 | Sarah  | 8         | yes  |
|    5 | Tom    | 7         | no   |
+------+--------+-----------+------+

'GROUP BY' と 'JOINS' に関するドキュメントを検索したので、これは可能ですか?

4

1 に答える 1

6

ケースでそれを行うことができます:

SELECT *,CASE WHEN type_id IN (2,8) THEN 'yes' ELSE 'no' END as `type`
FROM yourTable

sqlfiddle demo

于 2013-11-11T10:25:31.903 に答える