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.

view condicional
Comenzado por
cram
, jul 11 2014 08:05
3 respuestas en este tema
#1
Escrito 11 julio 2014 - 08:05
#2
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.

Respondo Yo mismo la solución:
en la línea de la definición del campo de la vista



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

#3
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:
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.
delphi
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.
#4
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
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
