4

我的表中有一个列 ( SERVICE_ID),其中只能有 3 个值:0、1 和 2。

在 a 上SELECT,我想将这些值更改为英文单词以进行显示:

select client, SERVICE_ID
from customers

目前显示:

| John     | 1
| Mike     | 0
| Jordan   | 1
| Oren     | 2

我想更改查询以获取:

| John     | QA
| Mike     | development
| Jordan   | QA
| Oren     | management

有什么方法可以只使用选择来做到这一点?

4

2 回答 2

10
SELECT client,
       CASE SERVICE_ID
         WHEN 0 THEN 'development'
         WHEN 1 THEN 'QA'
         WHEN 2 THEN 'management'
       END AS SERVICE
FROM   customers 

虽然我有一个单独的表用于ServicesSERVICE_ID, Name并加入该表以检索服务名称。

于 2012-11-04T12:55:48.170 回答
0
CREATE TABLE `serviceID_lookup` (
    `serviceID` INT(10) NULL,
    `Description` VARCHAR(50) NULL
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

select c.client, sl.Description 
from customers c 
inner join serviceID_lookup sl on sl.serviceID = c.SERVICE_ID
于 2012-11-04T12:59:09.207 回答