Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/10/2009, 10:57
DAMFOX
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Concatenar campos "segun condicion"

Cita:
Iniciado por flaviovich Ver Mensaje
Funciona asi:
Código sql:
Ver original
  1. SELECT CASE WHEN <condicion> THEN <si es verdad>
  2. ELSE <si es falso> END
  3. FROM tu_tabla

Excelente! esto es lo que queria hacer!!! cuando el prefijo sea 011 colocar el 15 asi (01115) y cuando no es 011 colocar el 15 asi (022115) lo dejo por que quizas le sirva a alguien de ejemplo!
Saludos y muchas gracias a los dos!!!!

select
right('00000000'+a.IDENTIFICADOR_1,8)+
right('000'+a.IDENTIFICADOR_2,3)+
right('000'+a.IDENTIFICADOR_3,3)+
left (a.FECHA,10)+
right(' '+b.prefijo+(case b.celular when '15' then '15' else '' end),5)+
right(' '+ b.caracteristica,5)+
right(' '+ b.NUMERO,5)+
left(b.observaciones+space(60),60)+
left(b.estado+space(2),2)
from TABLA a, TABLA b, TABLA c
where a.id=c.id
and b.estado ='CO'
and b.prefijo='011'
union all
select
right('00000000'+a.IDENTIFICADOR_1,8)+
right('000'+a.IDENTIFICADOR_2,3)+
right('000'+a.IDENTIFICADOR_3,3)+
left (a.FECHA,10)+
right(' '+b.prefijo,5)+
right(' '+(case b.celular when '15' then '15' else '' end)+b.caracteristica,5)+
right(' '+ b.NUMERO,5)+
left(b.observaciones+space(60),60)+
left(b.estado+space(2),2)
from TABLA a, TABLA b, TABLA c
where a.id=c.id
and b.estado ='CO'
and b.prefijo<>'011'