2011-04-18 24 views
10

我有一列需要填充ture/false /(N/A)數據。此列是選擇語句的一部分 所以,我如何實現這一目標?如何在select語句中寫入if條件?

SELECT distinct 
program_id, 
prog_name, 
Eitc_Active_Switch as Prog_Status, 
progmap.client_id, 
progmap.ORG_ID, 
sec.calwinexists_ind as interface, 
sec.Client_name 
FROM ref_programs prog (nolock) 
LEFT OUTER JOIN ref_county_program_map progmap (nolock)   
ON progmap.program_id=prog.prog_id AND progmap.CLIENT_ID=prog.CLIENT_ID 
INNER join sec_clients sec (nolock) 
on sec.client_id=progmap.Client_id 

'sec.calwinexists_ind as interface'是該列。只有三條記錄(AMC,AMBD,ACMNI)和'N/A' 的真/假應顯示爲其餘記錄

任何人都可以幫我嗎?

+0

要使用代碼標籤,請突出顯示文本並按下看起來像這個「{}」的按鈕,或者將文本縮進4格。 – Marlon 2011-04-18 22:56:14

回答

25

您應該使用CASE表達式。

例子:

SELECT name,salary, 
CASE  
WHEN salary <= 2000 THEN 'low' 
WHEN salary > 2000 AND salary <= 3000 THEN 'average' 
WHEN salary > 3000 THEN 'high' 
END AS salary_level 
FROM employees 
ORDER BY salary ASC 

並以這種方式,你應該調整你的查詢,以符合您的需求。

+0

有沒有辦法添加'Else'即默認語句? – 2016-09-15 12:43:21