Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/01/2004, 17:16
kolombo
 
Fecha de Ingreso: enero-2004
Mensajes: 13
Antigüedad: 21 años, 1 mes
Puntos: 0
Puedes hacerlo con un IF.

IF C_TUCAMPODECUENTA LIKE '1%' OR C_TUCAMPODECUENTA LIKE '5%'

SELECT N_TUCAMPODEDEBITO as N_TUVALORDERETORNO
FROM TU_TABLA

ELSE

SELECT N_TUCAMPODECREDITO as N_TUVALORDERETORNO
FROM TU_TABLA

END

Si tu campo de cuenta fuese numérico, en lugar del LIKE debes dividirlo de forma entera por la unidad del mismo nivel, es decir, si una cuenta tiene 3 dígitos (no tengo ni idea, contabilidad no es lo mio), debes dividirlo por 100, si tiene 4 por 1000, etc.

Ej: cuenta 215.

215/100 = 2 (si lo haces como entero, si no 2.15)

Por lo tanto te quedaria algo como

IF N_TUCAMPODECUENTA / 100 (en el caso de tres digitos) = 1 OR N_TUCAMPODECUENTA / 100 = 5

etc.

Por último, si necesitas que la consulta te devuelva más cosas aparte del campo que pides y quieres ahorrarte de hacer dos consultas puedes declarar una variable y seleccionarla en tu consulta.

DECLARE miValorDeRetorno int (por ejemplo)

Luego dentro del IF y el ELSE haces :

SET miValorDeRetorno = TUCAMPODECREDITO (o el de debito, depende de si estas en el IF o en el else.

Al salir del IF ya puedes hacer tu consulta, por ejemplo :

SELECT C_MICAMPO1,C_MICAMPO2,C_MICAMPO3, miValorDeRetorno
FROM TU_TABLA