
06/01/2004, 17:16
|
| | 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 |