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 13-05-2022
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 14
engranaje Va por buen camino
Perdón, Sí parece que he cometido varios errores, esto escribiendo sin probar contra bd y sin tener las tablas y parece que he cometido unos cuantos errores de bulto.


Poniendo peridodo en lugar de periodo en el group by y entendiendo que el cuota que querías era el de cuotas y no la de Rc03. Las cambio un poco, a ver. Esta noche si no has resuelto aún probaré a montar una estructura en mi firebird probar que está claro que escribir así sin probar no es lo mio.

Código SQL [-]
 
 Select codigo, Periodo, Forma, NomJunta, SUM(Cuota) importeCuota 
 from  Rc03   
 WHERE PerPago = 2  
 AND ForPago IN (2,4) 
 GROUP BY codigo,Periodo, Forma, NomJunta  
ORDER BY PerPago, Forma, NomJunta


Código SQL [-]
Select count(codigo) Recibos, Periodo, Forma, NomJunta, sum(importeCuota) importe from  
( Select codigo, Periodo, Forma, NomJunta, SUM(Cuota) importeCuota  
 from  Rc03   
 WHERE PerPago = 2  
 AND ForPago IN (2,4)  
 GROUP BY codigo,Periodo, Forma, NomJunta 
 ORDER BY PerPago, Forma, NomJunta)  
 group by Periodo, Forma, NomJunta
Responder Con Cita
  #2  
Antiguo 14-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
Perdón, Sí parece que he cometido varios errores, esto escribiendo sin probar contra bd y sin tener las tablas y parece que he cometido unos cuantos errores de bulto.
Ambos siguen dando el mismo error y no lo entiendo.
Cita:
Empezado por mamcx Ver Mensaje
Trate de convertir eso a sql, pero la vista dice que faltan campos. No entiendo porque eso en CSV (quizás me entendiste literalmente que en "texto" cuando me pusiste la imagen? Lo que quise decir es que no pongas imágenes!).
Vale. Te entendí mal, lo siento. En los ficheros que subí sólo incluí los campos que llamo en el query y, sí, tienes razón y debí incluir todos los que usa la vista. Trataré de arreglarlo.
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
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
  #4  
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
  #5  
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
  #6  
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 01:36:36.


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