4

SERVICE_IDテーブルに 0、1、2 の 3 つの値しか持てない列 ( ) があります。

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 

Servicesただし、列を含む別のテーブルがあり、SERVICE_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 に答える