Ir al contenido


Foto

view condicional


  • Por favor identifícate para responder
3 respuestas en este tema

#1 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 11 julio 2014 - 08:05

Tengo un diseño de vista que requiere el uso de una condición. Pero no doy pie con bola.

El problema es el siguiente:

DET_INI es un campo que puede ser nulo y es de tipo Varchar.
En caso de no ser nulo quiero que forme parte del detalle en una vista, mientras que en el caso contrario quiero que el detalle se forme con otro componente, podría llamarse DET_FIN.
Mi problema es que no se como implementar una condición en la definición de la vista. ¿esto es posible?

si DET_INI es nulo entonces DETALLE = DET_FIN caso contrario DETALLE = DET_INI

La idea es que la vista tome un valor u otro según DET_INI, y que esto resulte transparente al usar la vista.

Busqué poco en la documentación y todo lo que hallé es algo desarticulado. Seguiré buscando.

  • 0

#2 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 11 julio 2014 - 08:13

Lo bueno de que exista gente apurada y torpe a la vez (como Yo), es que alguien puede servirse del dato.  :embarrassed: :tongue:

Respondo Yo mismo la solución:

IIF(DET_INI IS NULL, DET_FIN, DET_INI)


en la línea de la definición del campo de la vista
:cheesy:

  • 0

#3 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 14 julio 2014 - 01:56

Es más sencillo incluso si utilizas COALESCE(p1, p2, p3, ...) que, básicamente, te da el primer parámetro de la lista que no sea null, así que en tu caso sería simplemente:



delphi
  1. COALESCE(DET_INI, DET_FIN)



Lo potente del coalesce es que si DET_FIN también pudiese ser nulo, te bastaría añadir un tercer parámetro a usar en ese caso.
  • 0

#4 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 14 julio 2014 - 06:31

Sergio, gracias por responder y por otra solución.
El modelo es algo extraño, es un invento que lo tengo a pruebas.
En un principio creí que no habías acertado, pero luego entendí bien tu solución. Que sería poner como respuesta el nombre de la columna, para que tome el valor correspondiente para esa fila.
Lo probaré, saludos
(b)
  • 0




IP.Board spam blocked by CleanTalk.