2011-04-18 23 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