我有一张表:
+------+--------+-----------+
| | 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”上搜索了文档,但是看不到像这样的解决方案。
答案 0 :(得分:6)
您可以使用case:
执行此操作SELECT *,CASE WHEN type_id IN (2,8) THEN 'yes' ELSE 'no' END as `type`
FROM yourTable