如何在select语句中编写if条件?

use*_*low 10 sql select if-statement conditional-statements

我有一个列需要填充ture/false /(N/A)数据.此列是select语句的一部分所以,我该如何实现这一目标?

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
Run Code Online (Sandbox Code Playgroud)

'sec.calwinexists_ind as interface'是列.只应显示三条记录(AMC,AMBD,ACMNI)的真/假,其余记录只显示"N/A"

谁能帮我?

Cri*_*riu 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
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您应该调整查询以满足您的需求.