Jump to content


Photo

view condicional


  • Please log in to reply
3 replies to this topic

#1 cram

cram

    Advanced Member

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

Posted 11 July 2014 - 08:05 AM

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 posts
  • LocationMisiones, Argentina

Posted 11 July 2014 - 08:13 AM

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
  • 1092 posts
  • LocationMurcia, España

Posted 14 July 2014 - 01:56 AM

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 posts
  • LocationMisiones, Argentina

Posted 14 July 2014 - 06:31 AM

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.