Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-06-2010
pronto7 pronto7 is offline
Miembro
 
Registrado: mar 2010
Posts: 19
Poder: 0
pronto7 Va por buen camino
Realizar una suma con SQL

tengo una tabla con muichos campos y necesito la suma de cada uno de ellos por registro... yo la tengo pero sumo un solo registro... pero sera que hay una manera de sumarlos todos pporque el codigo se me hace muy largo.. tengo esto y funciona perfectamente para uno solo


SET @v_2 = (Select sum(Precio_Basico_Grupo + Total_por_Hospit + Material_Med_Quir + Medicinas + Examen_Especial + Biopsia + Inst_Especial + Equipo_Especial + Mat_Especial + Interv_Quirurgica + TTO_Medico_P_O + Hon_Ayudantes + SAP + Hon_Anestesiologia + Hon_Instrumentista)
as Total
from Presupuesto
where Codigo = '0000000539')

UPDATE Presupuesto
set Costo = @v_1
where Codigo = '0000000539'
__________________
[Pronto7]
Responder Con Cita
  #2  
Antiguo 01-06-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Supongo que MSSql tendrá triggers, creo que esa es la mejor forma, creas uno que cada vez que se actualice un registro, se sumen los campos.
Responder Con Cita
  #3  
Antiguo 01-06-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Hay que saber cuando quieres hacer la actualización. Si te interesa hacerla siempre que grabes o modifiques un registro, debes utilizar los TRIGGERS de Alta y Update.

Si te interesa hacerlo en un momento dado para todos los registros, lo que te sobre ahí es la clausula WHERE que te limita el núumero de registros.
Deberías poder hacer algo así:

Código SQL [-]
UPDATE Presupuesto 
SET Costo = 
(Precio_Basico_Grupo + Total_por_Hospit +  Material_Med_Quir + Medicinas + Examen_Especial + 
Biopsia +  Inst_Especial + Equipo_Especial + Mat_Especial + Interv_Quirurgica +  TTO_Medico_P_O + 
Hon_Ayudantes + SAP + Hon_Anestesiologia +  Hon_Instrumentista)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 02-06-2010
sinalocarlos sinalocarlos is offline
Miembro
 
Registrado: sep 2006
Posts: 152
Poder: 18
sinalocarlos Va por buen camino
Hola, solo agregando un comentario a la solucion que han mencionado neftali y casimiro. si lo que necesitas es conservar la sumatoria de los costos, y ese valor siempre sera igual a la sumatoria de los otros campos, puedes optar por manejar campos calculados, un ejemplo sencillo:

Hola, solo agregando un comentario a la solucion que han mencionado neftali y casimiro.

si lo que necesitas es conservar la sumatoria de los costos, y ese valor siempre sera igual a la sumatoria de los otros campos, puedes optar por manejar campos calculados, un ejemplo sencillo:
Código SQL [-]
CREATE TABLE test (
campo1 FLOAT,
campo2 FLOAT,
campo3 FLOAT,
suma AS campo1 + campo2 + campo3  )
GO

INSERT INTO dbo.test( campo1, campo2, campo3 ) VALUES  ( 3.141592654,2.7182818281,1.6)
INSERT INTO dbo.test( campo1, campo2, campo3 ) VALUES  ( 23 ,54,19)

GO

SELECT campo1, campo2, campo3, suma FROM dbo.test


Como puedes ver el campo suma es definido como la sumatoria de los otros campos, y al consultar algo sobre la tabla SQL SERVER retornara al sumatoria, puedes encontrar mucha info sobre estos campos en la ayuda del SQL

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Realizar Suma en Rave Reports MaSSaKKre Impresión 5 19-08-2008 21:04:36
Suma de 2 Reales lKinGl Varios 8 14-04-2008 13:00:43
Como realizar esta suma?? danytorres Varios 3 28-10-2005 14:54:36
Suma de horas II YolandaM Varios 10 19-11-2003 22:05:39
Suma en un Dbgrid agora18 Conexión con bases de datos 1 14-10-2003 21:52:33


La franja horaria es GMT +2. Ahora son las 16:28:02.


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
Copyright 1996-2007 Club Delphi