2012-11-04 84 views
4

我在我的表中的列(SERVICE_ID)替換值,其中我只能有3個值:0,1和2。T-SQL上選擇

在一個SELECT,我想改變這些值成用於顯示英文單詞:

select client, SERVICE_ID 
from customers 

當前顯示:

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

我想改變查詢來獲取:

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

有什麼辦法可以只使用select來做到這一點?

回答

9
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列,並加入到該檢索服務的名稱。

+0

工作正常。感謝您的回答。 –

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