Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda en Consulta - ms sql 2000 ( case - when )

Estas en el tema de Duda en Consulta - ms sql 2000 ( case - when ) en el foro de Bases de Datos General en Foros del Web. Saludos Amigos tengo una duda... tengo una tabla documentos. Idocumento-aniodoc-tipodoc - codigoestado - adjunto1- adjunto2 -adjunto3 001 - 1999 - Factura - 001 - 003 ...
  #1 (permalink)  
Antiguo 10/12/2004, 01:13
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 6 meses
Puntos: 0
Exclamación Duda en Consulta - ms sql 2000 ( case - when )

Saludos Amigos tengo una duda...

tengo una tabla documentos.

Idocumento-aniodoc-tipodoc - codigoestado - adjunto1- adjunto2 -adjunto3
001 - 1999 - Factura - 001 - 003 - 004 - 005
002 - 2000 - Boleta - 002 - 007 - 008 - 009
003 - 2002 - Recibo - 003 - 101 - 200 - 100

Mi duda es la siguiente

en el caso de hacer una consulta por los documentos por ejemplo un select
select * from documento where iddocumento like '001' and tipodoc like 'Factura' and aniodoc like '2004'

me mostrara la primera fila con las columnas adjunto1 - adjunto 2 - adjunto 3

Pero mi duda es la siguiente yo quiero mostrar las filas de mi tabla con esta condición Si el codigo de estado es 001 entonces las columnas adjunto1 - adjunto2 -adjunto3 deben aparecer ... caso contrario no deben aparecer.. esas columnas..

"A mi criterio me parece que debo hacer una función que reciba el codigo de estado y me determine mediante un if , else la aparición de las columnas mencionadas"

Si estoy mal por favor agradeceria su corrección, orientación..

Gracias..

Albert A.

Última edición por albertt_t; 10/12/2004 a las 17:34 Razón: corrección - 2
  #2 (permalink)  
Antiguo 10/12/2004, 05:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 51
Antigüedad: 20 años, 5 meses
Puntos: 0
Hola albertt_t,

yo nunca he programado con ms sql 2000, pero en otros gestores de BD sería algo así

select iddocumento, aniodoc, tipodo, codigoestado,
iif(codigoestado="001", adjunto1, ""),
iif(codigoestado="001", adjunto2, ""),
iif(codigoestado="001", adjunto3, "") from documento

En ms sql debes tener alguna función equivalente a iif (o quizás la misma) que puedes aplicar a los campos.

Espero haberte ayudado,
FMato
  #3 (permalink)  
Antiguo 10/12/2004, 10:30
 
Fecha de Ingreso: noviembre-2004
Mensajes: 159
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo

Hola FMAto he buscado acerca de la función IIF pero para el MS - SQl server 2000 me indican que debo usar el CASE WHEN , estoy viendo ejemplos de este caso... gracias por tu ayuda...

Saludos

Albert A.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:15.