Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-05-2022
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 14
engranaje Va por buen camino
Puedes probar sí esta consulta:
Código SQL [-]
Select Codigo, PerPago, Forma, Periodo, NomJunta, SUM(Cuota) importeCuota   
from  Rc03    
WHERE PerPago = 2   
AND ForPago IN (2,4)  
GROUP BY Codigo, PerPago, Forma, Periodo, NomJunta
ORDER BY PerPago, Forma, NomJunta

te da un error:

Cita:
Invalid expression in the ORDER BY clause (not contained in either an aggregate function or the GROUP BY clause).
Como lo entiendo todos los campos en el select menos el SUM están en el group by, el problema indicado en el error es porque cometí otro error para variar y estaba ordenando por PerPago sin meterlo en el group by.
En esta sentencia todos los campos en el order by están en el group by también. ¿Puedes probar que esta sentencia se ejecuta sin problemas?
Responder Con Cita
  #2  
Antiguo 18-05-2022
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por engranaje Ver Mensaje
En esta sentencia todos los campos en el order by están en el group by también. ¿Puedes probar que esta sentencia se ejecuta sin problemas?
Esta no da error pero los resultados no son los que busco. No obstante, que un campo esté o no en el order by no influye si debe estar y está en el group. Seguiré probando...
Responder Con Cita
  #3  
Antiguo 18-05-2022
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 14
engranaje Va por buen camino
Claro, lo que estoy intentando hacer es ir por partes, si la consulta anterior se ejecuta sin problemas, puedes probar esta:

Código SQL [-]
Select count(codigo) Recibos, Periodo, Forma, NomJunta, sum(importeCuota) importe 
from   
( Select Codigo, PerPago, Forma, Periodo, NomJunta, SUM(Cuota) importeCuota      
from  Rc03       
WHERE PerPago = 2      
AND ForPago IN (2,4)     
GROUP BY Codigo, PerPago, Forma, Periodo, NomJunta   
ORDER BY PerPago, Forma, NomJunta
)  
group by Periodo, Forma, NomJunta
Responder Con Cita
  #4  
Antiguo 19-05-2022
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Poder: 19
Angel.Matilla Va por buen camino
No, tampoco funciona. Algo parecido ya lo había probado y me sigue sacando la suma de todos los recibos emitidos (4750 € en vez de 150 €). Sé que estoy planteando mal el query pero no veo donde.
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
SELECT con SUM y COUNT Angel.Matilla Firebird e Interbase 18 13-06-2018 10:19:36
¿Select count sin group by? zazexx SQL 5 07-08-2008 15:27:11
Mejorar SELECT COUNT ferjavrec2 SQL 0 01-06-2007 21:00:00
valor de SELECT COUNT maruenda SQL 15 25-05-2007 22:58:38
Select Count (distinct X) lunatiko SQL 2 17-10-2004 21:06:45


La franja horaria es GMT +2. Ahora son las 14:18:33.


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