Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Es posible con SQL sumar algunos registros de un SELECT? (https://www.clubdelphi.com/foros/showthread.php?t=11356)

nefy 11-06-2004 17:14:52

Es posible con SQL sumar algunos registros de un SELECT?
 
Hola hago una consulta mas o menos asi:
Código:

SELECT Facturas.Numero, Facturas.Monto, Facturas.MontoIva,
Facturas.Estado,Contratos.NumContrato, Contratos.RazonSocial, Contratos.Domicilio
FROM Contratos
  INNER JOIN Facturas
  ON  (Facturas.NumContrato = Contratos.NumContrato)

El punto es q debo de hacer las sumas de Monto, MontoIva pero la suma debe de excluir las facturas q su estado=False.

Obviamente se puede hacer filtrando la consulta y asignar la suma a una variable. Pero con afan de mejorar :cool: me gustaria saber si se puede hacer de otra manera tal como una subconsulta o en alguna otra forma dentro de la misma consulta.

Nota:Uso TQuery, Delphi 6 y Paradox.

Salu2.

marto 11-06-2004 17:27:07

Código SQL [-]
 
SELECT Contratos.NumContrato, Contratos.RazonSocial, Contratos.Domicilio, 
  SUM(Facturas.Monto), SUM(Facturas.MontoIva)
FROM Contratos 
  INNER JOIN Facturas 
  ON (Facturas.NumContrato = Contratos.NumContrato)
WHERE Facturas.Estado <> false
 
GROUP BY Contratos.NumContrato, Contratos.RazonSocial, contratos.Domicilio
Eso te retornaria los sumatorios para cada contrato, los datos de cada factura no los puedes poner, ya que no tiene sentido agrupar por número de factura

nefy 11-06-2004 17:38:20

Teneis Razon buen punto. Asunto resuelto y gracias.

Salu2.

seba_cipo 10-10-2007 23:24:23

duda
 
estuve viendo la sentencia sql y tengo q hacer algo parecido pero no me sale,,esta es mi sentencia

SELECT clientes.id, SUM(saldos.monto)
FROM clientes
INNER JOIN saldos
ON clientes.id = saldos.idCliente
GROUP BY clientes.id


el resultado el la suma de todos los saldos pero para el primer idcliente.
yo quiero q salga cada idCliente con su respectiva suma de los montos

en mi tabla clientes tengo 2 clientes
y en la talba saldos tengo saldos de ambos,,,
pero el resultado el
idcliente = 1 , saldo= suma de todos los saldos de la tabla..
q estoy haciendo mal??

gracias por su ayuda

Estoy usando SQL Server

seba_cipo 10-10-2007 23:32:24

Solucionado
 
lo siente, acabo de darme cuenta q la sentencia estaba correcta,
era un error mio en la implementacion, lo siento y gracias de todas formas !!


La franja horaria es GMT +2. Ahora son las 14:20:54.

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