Ver Mensaje Individual
  #4  
Antiguo 11-05-2022
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 1.350
Reputación: 19
Angel.Matilla Va por buen camino
Cita:
Empezado por kuan-yiu Ver Mensaje
¿Y la primera te funciona en Firebird?
Yo tenía entendido que en la cláusula group by tienen que estar listados todos los campos del select con valores no agrupados (los que no tienen, sum, count...). Supongo que los pones porque están dentro del where.

En todo caso el error es referido a eso, que has añadido una columna y no la incluyes en el group by.
Lo del group by que comentas también me ha sorprendido a mi. Tanto en el programa BUilder como en SQLManager si lo pongo como está funciona y si quito los campos que no están en el SELECT me da error. No lo entiendo yo tampoco.
Cita:
Empezado por cloayza Ver Mensaje
Estimado Angel.Matilla

Creo que el problema de la suma de importe, puede deberse a los datos que te entrega la vista. Ya que la suma la realiza sobre ese dataset...

Podrías compartir el código SQL de la vista que utilizas...

Saludos cordiales
Pero no quiero protestas porque sea muy complejo
Código SQL [-]
CREATE VIEW Rc03 (CodPrv, Codigo, Junta, ForPago, PerPago, Cuota, F_alta, Fecha, Situacion, Forma, Periodo, NomJunta) AS
SELECT A.CodPrv, A.Codigo, A. Junta, A.ForPago, A.PerPago, B.Cuota, A.F_alta, C.Fecha, D.Literal, E.Literal, F.Literal, G.Nombre 
  FROM Persona A 
  LEFT JOIN Cuotas B ON A.CodPrv = B.CodPrv AND A.Codigo = B.Codigo AND B.Tipo = 'A' 
  LEFT JOIN Recibos C ON A.CodPrv = C.CodPrv AND A.Codigo = C.Codigo 
  LEFT JOIN Instalacion D ON D.Etiqueta = 'Situacion' AND A.Situacion = D.Valor
  LEFT JOIN Instalacion E ON E.Etiqueta = 'ForPago' AND A.ForPago = E.Valor
  LEFT JOIN Instalacion F ON F.Etiqueta = 'PerPago' AND A.PerPago = F.Valor, Junta G 
 WHERE B.Cuota > 0 
   AND A.Situacion IN (SELECT Valor FROM Instalacion WHERE Etiqueta = 'Situacion' AND Situacion = 1) 
   AND A.ForPago IN (SELECT Valor FROM Instalacion WHERE Etiqueta = 'ForPago') 
   AND A.PerPago IN (SELECT Valor FROM Instalacion WHERE Etiqueta = 'PerPago') 
   AND A.Codigo NOT IN (SELECT Codigo FROM Emision) 
   AND A.CodPrv = G.CodPrv AND A.Junta = G.Codigo
Es el código que crea la vista
Responder Con Cita