Ver la Versión Completa : Fraccionar un Campo
alcides
03-10-2005, 18:44:32
Hola a todos,
con este qry, trato de leer del campo CUENTA las cuentas hasta 4 posiciones
pero salen las de 3 posiciones, como hago para que solo salgan las de 4 posiciones.
esto es lo que tengo.
SELECT MID(CUENTA,1,4),FECHA_TRANSACION,SUM(DEBITO) AS TOTAL_DEBITO,SUM(CREDITO) AS TOTAL_CREDITO
FROM DETALLE
WHERE FECHA_TRANSACION >= :PFECHA_DESDE
AND FECHA_TRANSACION <= :PFECHA_HASTA
AND MID(CUENTA,1,7) = :PCUENTA
GROUP BY MID(CUENTA,1,7),FECHA_TRANSACION;
Gracias mil, por la ayuda que me puedan brindar,
Alcides
Rep.Dom.
marcoszorrilla
03-10-2005, 18:47:59
Qué motor estas utilizando Ado + Acces ?.....
En cualquier caso la función está correctamente planteada y te tiene que funcionar, has mirado a ver si cuenta por algún motivo tiene un espacio en blanco.
Un Saludo.
droguerman
03-10-2005, 18:48:26
q valores tienes en tu tabla??
vtdeleon
03-10-2005, 18:48:35
Saludos
Tirando tiros al aire, chequea en Where con Lenght(cuenta)=4 :rolleyes:
alcides
03-10-2005, 18:52:32
gracias a todos,
utilizo access
funciona bien, el asunto es que quiero acumular solo las cuentas hasta 4 posiciones y que las de 3 no salgan.
he buscado ayuda en sql sobre MID y no he podido encontrar nada,
si me pueden decir donde obtengo ayuda sobre MID.
Gracias mil
Alcides
Rep.Dom.
alcides
05-10-2005, 21:54:11
gracias a todos,
he buscado ayuda en sql sobre MID y no he podido encontrar nada,
si me pueden decir donde obtengo ayuda sobre MID.
Gracias mil
Alcides
Rep.Dom.
marcoszorrilla
05-10-2005, 23:05:06
Aqui tienes un ejemplo hecho directamente en Access:
SELECT AUTORES.AUTOR, AUTORES.NOMBRE, Mid([nombre],1,2) AS abc
FROM AUTORES;
Un Saludo.
alcides
06-10-2005, 14:12:09
hola a todos,
atención: Marcoszorrilla
chequeen este ejemplo:
tengo un numero de cuenta y un valor.
el campo cuenta es string y valor es numerico.
cuenta = '12345' valor = 450.00
cuenta = '12345' valor = 200.00
cuenta = '123' valor = 380.00
entonces con esto:
mid(cuenta),1,4)
quiero que salgan solamente
cuenta = '12345' valor = 450.00
cuenta = '12345' valor = 200.00
no he podido obtener esto,
si me pueden ayudar por fa
gracias mil
Alcides
Rep.Dom.
marcoszorrilla
06-10-2005, 15:40:28
El planteamiento entonces es distinto.
Where Cuenta Like "12345%"
//para Access
Where cuenta like "12345*"
Un Saludo.
alcides
06-10-2005, 17:33:28
Hola a todos
atención: Marcoszorrilla
ok.
Where cuenta like "1234*"
Mi pregunta es la siguiente como 1234 es un ejemplo de un numero cualquiera quisiera saber si ese 1234 puedo sustituirlo por ejemplo asi:
Where cuenta like "####*"
Gracias mil
Alcides
Rep.Dom.
marcoszorrilla
06-10-2005, 17:56:25
No se puede, explícate un poco más a ver si logramos ponerlo en marcha.
Un Saludo.
alcides
06-10-2005, 18:05:48
Hola a todos,
Atención: Marcoszorrilla.
me explico:
resulta que tengo tabla con un campo string CUENTA y tengo un campo numerico VALOR, entonces CUENTA es campo que su contenido va cambiar de tamaño, puede tener dos digitos, tres digitos, cuatro digitos, cinco digitos, seis digitos y hasta siete digitos. y quiero que cuando utilize mi query MID(CUENTA,1,4) solo salgan las cuentas con cuatro digitos: porque de esta forma salen las de 4 digitos y tambien las de 3 digitos, ese es el problema.
espero me entiendan, sino de todos modos, gracias mil.
Gracias mil,
Alcides
Rep.Dom.
Chente(rMan)
06-10-2005, 18:06:14
Creo que asi se puede.
where cuenta like '%' + @Nombre + '%'
edito:
creo que necesitas poner esto, donde longitud es la longitud de la cuenta que quieres.
where len(cuenta) = @longitud
Saludos.
Vicente López.
marcoszorrilla
06-10-2005, 18:17:19
Si el valor es numérico:
Where valor > 999 and Valor < 10000
Un Saludo.
]
alcides
06-10-2005, 18:22:57
hola a todos,
Marcos el asunto no es con el campo valor es con el campo cuenta que es string
voy a chequear lo de Chente(rman)
Gracias mil
Alcides
Rep.Dom.
alcides
06-10-2005, 20:19:55
Gracias Chente(rman) funciona, pero no entiendo porque comienza a traerme las cuentas desde 1411 en lugar 1111.
tiene salir este orden 1111
1112
1113
1411
1414
y comienza en la 1411
1414
pero voy a seguir, porque con esto
where len(cuenta) = 4
parece que voy a resolver
Gracias mil,
Alcides
Rep.Dom.
Chente(rMan)
06-10-2005, 20:23:38
y si le agregas...
order by cuenta
Saludos
Vicente López.
alcides
06-10-2005, 20:29:12
gracias Chente(rman) por tu repuesta, pero no es por el order by, es que no la esta tomando en cuenta esas CUENTAS.
pero voy a seguir investigando.
Gracias mil,
Alcides
Rep.Dom.
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.