Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Consulta suma sql SERVER (https://www.clubdelphi.com/foros/showthread.php?t=76974)

amell2020 09-12-2011 23:49:14

Consulta suma sql SERVER
 
como sumo un columna desde una consulta
Código SQL [-]
ADOQUERY1.SQL.Text:='SELECT'+
' P.NOMBRE, P.APELLIDOS, P.NSS,D.Codigo, D.Descripcion, R.[Fecha de Atención],'+
' T.[TIPO DE ATENCIÓN], T.COSTO, sum(T.Costo) as suma '+
 
' FROM Registro_de_atención R  '+
  ' LEFT OUTER JOIN [RIS PACIENTES] P ON P.[Id RIS PACIENTE]  = R.[RIS del Paciente]'+
  ' LEFT OUTER JOIN Tdiagnostico D ON D.idAtencion  = R.IdAtención'+
  ' LEFT OUTER JOIN [TIPO DE ATENCIÓN] T ON T.[Id TIPO DE ATENCIÓN] = R.[Tipo de Servicio]'+
   ' WHERE P.[Id RIS PACIENTE] LIKE ''%'+Edit1.Text+'%''' +
   'group by P.NOMBRE, P.APELLIDOS,'+
   'P.NSS,D.Codigo, D.Descripcion, R.[Fecha de Atención],'+
    ' T.[TIPO DE ATENCIÓN], T.COSTO';
, para luego mostrar la en reporte de impresion, favor ayuda??

oscarac 10-12-2011 06:03:22

disculpa pero no entendi....
que columna quieres sumar?

Casimiro Notevi 10-12-2011 10:14:04

Cita:

Empezado por amell2020 (Mensaje 420861)
como sumo un columna desde una consulta, para luego mostrar la en reporte de impresion, favor ayuda??

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.

olbeup 10-12-2011 11:37:22

hola amell2020,

Para mostrar la suma sum(T.Costo) as suma tienes que utilizar el campo suma en el QuickReport, ese es el nombre que le has dado.

p.d.: A la hora de realizar una SQL invierte más tiempo, haz que los demás te entiendan, al realizar una SQL, no es sólo escribir, también es un arte, es belleza, es un don, que todos tenemos, pero pocas veces la ponemos en práctica, de esta manera localizaras o localizaremos antes el posible error, pudiendo dar una respuesta más clara en menos tiempo.

Un saludo.

aposi 10-12-2011 18:07:57

En la consulta, lo que tienes que quitar es el campo T.COSTO del select y del group by, porque si esta en la consulta lo que el sum siempre te dará el mismo valor que el costo, o como mucho te sumara todos costes que sean iguales.
La sentencia tendria que quedar así

Código Delphi [-]
ADOQUERY1.SQL.Text:='SELECT'+
' P.NOMBRE, P.APELLIDOS, P.NSS,D.Codigo, D.Descripcion, R.[Fecha de Atención],'+
' T.[TIPO DE ATENCIÓN],  sum(T.Costo) as suma '+
 
' FROM Registro_de_atención R  '+
  ' LEFT OUTER JOIN [RIS PACIENTES] P ON P.[Id RIS PACIENTE]  = R.[RIS del Paciente]'+
  ' LEFT OUTER JOIN Tdiagnostico D ON D.idAtencion  = R.IdAtención'+
  ' LEFT OUTER JOIN [TIPO DE ATENCIÓN] T ON T.[Id TIPO DE ATENCIÓN] = R.[Tipo de Servicio]'+
   ' WHERE P.[Id RIS PACIENTE] LIKE ''%'+Edit1.Text+'%''' +
   'group by P.NOMBRE, P.APELLIDOS,'+
   'P.NSS,D.Codigo, D.Descripcion, R.[Fecha de Atención],'+
    ' T.[TIPO DE ATENCIÓN]';


La franja horaria es GMT +2. Ahora son las 04:40:39.

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