Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Calcular el total de un campo (https://www.clubdelphi.com/foros/showthread.php?t=39300)

efelix 16-01-2007 17:48:31

Calcular el total de un campo
 
:confused: Saludos a todos. Hace rato que no visitaba el foro. Tengo la siguiente duda, tengo un procedimento almacenado con tres parámetros de entrada. El código es el siguiente:
Código SQL [-]
CREATE PROCEDURE spFacturasRecepcionadas
                                     (@Proveedor int,
                                      @Fecha1 datetime,
                                      @Fecha2 datetime)
                                      
 AS
 SELECT     TOP 100 PERCENT Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, 
                      Facturas.Importe, Facturas.FechaRecepcion
FROM         Proveedores INNER JOIN
                      Facturas ON Proveedores.IdProveedor = Facturas.IdProveedor
WHERE (Proveedores.IdProveedor=@Proveedor AND Facturas.FechaRecepcion>=@Fecha1 AND Facturas.FechaRecepcion<=@Fecha2)
ORDER BY Proveedores.IdProveedor
GO
Esto funciona perfectamente bien. Ahora como pudiera hacer para totalizar el campo importe de la tabla facturas, tengo dudas al respecto. Aquí hay dos tablas como pueden apreciar según el código. Muchas gracias.

droguerman 16-01-2007 19:16:25

Código SQL [-]
SELECT Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, 
                      Facturas.FechaRecepcion, SUM(Facturas.Importe) 
FROM         Proveedores INNER JOIN
                      Facturas ON Proveedores.IdProveedor = Facturas.IdProveedor
WHERE (Proveedores.IdProveedor=@Proveedor AND Facturas.FechaRecepcion>=@Fecha1 AND Facturas.FechaRecepcion<=@Fecha2)
GROUP BY Proveedores.IdProveedor, Proveedores.NombreProveedor, Facturas.IdFactura, Facturas.Descripcion, 
Facturas.FechaRecepcion 
ORDER BY Proveedores.IdProveedor

NO requieres poner top 100 percent por defecto SQL te devuelve todos los registros

efelix 16-01-2007 23:56:11

droguerman muchas gracias por tu respuesta, pero no era eso necesaraimente lo que quería. Dejáme explicarme mejor, es posible que no lo haya hecho antes de la manera mas explicita. Cuando ejecuto está consulta con los cambio que tu me propones lo que obtengo es lo mismo, es decir me sigue saliendo el mismo importe de las facturas. Lo que deseo es que salga un importe total, es decir cuando yo le pase los parámetros me devuelva los campos elegidos en el select pero con el campo importe de factura totalizado.
Te pregunto si esto es posible. De no serlo dime si puedo crear otro procedimiento almecenado con un parámetro de salida para que calcule el total de las facturas que cumplan la condición del primer procedimiento y luego llamarlo desde el primero.
Por favor si esta idea es valida házmelo saber. Muchas gracias. Espero que ahora hayas entendido lo que deseo. Ahora disculpa te hago otra preguta, cómo se llama a un procedimiento almacenado desde otro.


La franja horaria es GMT +2. Ahora son las 16:12:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi