Foros del Web » Programando para Internet » ASP Clásico »

Consulta ASP

Estas en el tema de Consulta ASP en el foro de ASP Clásico en Foros del Web. Holas, como estan. Me gustaría preguntarle a alguno de los gurus de SQL lo siguiente. Lo que pasa es que tengo que hacer un informe ...
  #1 (permalink)  
Antiguo 10/02/2003, 16:10
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago-Chile
Mensajes: 1
Antigüedad: 22 años, 2 meses
Puntos: 0
Pregunta Consulta ASP

Holas, como estan. Me gustaría preguntarle a alguno de los gurus de SQL lo
siguiente. Lo que pasa es que tengo que hacer un informe en ASP que rescate
información de una tabla de cta_corriente de un software que tiene la
cantidad en $ en 1 solo campo y al lado una definición del tipo de dato
(ingreso/egreso) y en relación a eso gira mi problema. Lo que pasa es que
necesito mostrar el listado de clientes ordenados por saldo (egreso-ingreso)
pero ambos datos estan en el mismo campo. Lo que he logrado hacer es en la
1° consulta hacer un select de la suma de los egresos agrupados por cliente

consulta0 = "select sum(valor) as egreso, cliente from ctacorriente group by
cliente where tipcom=1 "

DO WHILE NOT CONSULTA0.EOF
dim egreso
egreso=consulta0("egreso")
cliente=consulta0("cliente")

consulta1 = "select sum(valor)- "& egreso &" as saldo from ctacorriente
where tipcom=1 and cliente = "& cliente &" order by saldo"


consulta2= "select * from clientes where idcliente = "& cliente &""

DO WHILE NOT CONSULTA1.EOF
DO WHILE NOT CONSULTA2.EOF
<%=consulta1("saldo")%> - <%=consulta2("nombre")%>


CONSULTA0.MOVENEXT
loop
CONSULTA1.MOVENEXT
loop
CONSULTA2.MOVENEXT
loop

Mi objetivo es que me tire un listado con el nombre del cliente y al lado el
saldo, ordenado por saldo de mayor a menor, pero no he podido porque me
agarra el orden que me tira la 1° consulta. Si termino el loop en la
consulta1 se genera un ciclo individual y me tira 1 solo valor en el informe
el cual no corresponde.

Les agradecería un monton si me pudieran ayudar.
Muchas gracias.
  #2 (permalink)  
Antiguo 11/02/2003, 06:40
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 23 años, 3 meses
Puntos: 0
¿El valor del egreso también está como valor positivo?
Si no fuese así podrías obtenerlo todo en una única consulta. Por ej.
Select cliente, SUM(Valor) As Saldo From ctacorriente
group by cliente
order by Saldo Desc

Si estuviera el egreso en positivo haría una consulta similar pero recuperando tipcom, o sea,
Select cliente, tipcom SUM(Valor) As Monto From ctacorriente
group by cliente, tipcom
order by Monto Desc

y al procesar el recordset verifico que si el cliente es igual al anterior y en base a tipcom lo guardás en una variable ingreso o egreso (si es igual a 1 primero multiplicás Monto por -1 para hacerlo negativo), después hacés ingreso - egreso y listo. Los datos del cliente e impresión la hacés cuando cambia el número de cliente o llegás a fin de archivo.

Espero te oriente y no te confunda. Saludos y suerte.
__________________
Leonardo D'Angelo
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




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