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 回答