AYUDA Consulta Sql

roberto1983

Bovino adolescente
#1
Hola que tal a toda la comunidad Bakuna, espero me puedan ayudar con esta:

Tengo una consulta de Sql la cual me suma los datos de una tabla, esta consulta me realiza la sumatora aunque la tabla tenga TEXTO, COMAS, PUNTOS, etc.

Set rs = conn2.Execute("select sum(cast(replace(SUBSTRING (Total ,2 ,len(Total) ),',','') as numeric(19,2))) from Registro_Pagos Where IsNumeric(SUBSTRING(Total, 2, Len(Total))) = 1")

Ahora tengo una consulta mas detro la cual yo mando a traer distintos datos para visualizarlos e imprimir!

Set rs = conn2.Execute("SELECT Recibo, Ape_pat, Ape_mat, Nombre, Ref_num, Ref_Alf, Matricula, Concepto, Pago_No, Importe, Descuento, Total, Periodo FROM Registro_Pagos WHERE " & _
"Recibo between '" & Text1.Text & "' AND '" & Text2.Text & "'")
Set frmPagosAlumno.DataGrid1.DataSource = rs

Todo va muy bien y por separado lo hace todo a la perfeccion, mi pregunta es como puedo agregar el codigo de la sumatoria a el codigo de la segunda consulta??? El primer codigo me hace la sumatoria pero de toda la tabla y yo quiero que me haga la sumatoria pero de la segunda consulta o de lo que el usuario vea en pantalla en el momento!!

Saludos y espero me puedan ayudar! GRACIAS...
 

Salandrews

Bovino maduro
#2
Tendrás que usar Group By en la primera consulta, para agrupar los totales, y anidar esta consulta en la consulta principal. Algo así:

Subconsulta:
select recibo,SUM(total)
from Registro_Pagos
group by (recibo)

Consulta principal:

select Recibo, Pago_No, Importe, Descuento, Subconsulta_Recibo.suma_recibo as Total, Periodo FROM Registro_Pagos,
(

select recibo, SUM(total)as suma_recibo
from Registro_Pagos
group by (recibo)

)Subconsulta_Recibo

where Registro_Pagos.recibo = Subconsulta_recibo.recibo
and Registro_pagos.recibo between ...

Espero haberme dado a entender. Algo que puedes hacer es trabajar la consulta directamente en la BD, y cuando la tengas lista, codificarla. Si tienes dudas, o no era esto lo que pedías, por favor, postea tus tablas o el diseño de tu bd, quizá te podamos ayudar de mejor manera.
 
Arriba