2011-04-18 17 views
10

Tengo una columna que debe rellenarse con datos ture/false/(N/A). Esta columna es parte de una declaración seleccionada Entonces, ¿cómo puedo lograr esto?cómo escribir una condición if dentro de una instrucción 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 

'sec.calwinexists_ind as interface' es la columna. el verdadero/falso debe mostrarse solo para tres registros (AMC, AMBD, ACMNI) y 'N/A' para el resto de los registros

¿Alguien me puede ayudar?

+0

Para usar etiquetas de código, resalte el texto y presione el botón que se parece a esto '{}' O aplique sangría al texto en 4 espacios. – Marlon

Respuesta

25

Debe usar la expresión CASE.

Ejemplo:

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 

Y de esta manera usted debe adaptar su consulta para satisfacer sus necesidades.

+0

¿Hay alguna manera de agregar 'Else', es decir, instrucción predeterminada? –

Cuestiones relacionadas