Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Agrupar resultados de un query (https://www.clubdelphi.com/foros/showthread.php?t=85145)

Angel.Matilla 05-02-2014 19:26:01

Agrupar resultados de un query
 
Tengo que ejecutar un query de este estilo contra tablas Paradox:
Código:

SELECT COUNT(A.Referencia) Recibos, SUM(B.Cuota) Importe, 1 ForPago, B.PerPago
  FROM 'Emision.db' A, 'Persona.db' B
 WHERE A.CodPrv = 45 AND A.RefInt LIKE '1%'
    AND A.CodPrv = B.CodPrv AND A.Referencia = B.Referencia
    AND B.ForPago = 0 AND B.Entidad NOT IN (SELECT Entidad FROM 'Bancos.db')
 GROUP BY B.ForPago, B.PerPago
 UNION
SELECT COUNT(A.Referencia) Recibos, SUM(B.Cuota) Importe, B.ForPago, B.PerPago
  FROM 'Emision.db' A, 'Persona.db' B
 WHERE A.CodPrv = 45 AND A.RefInt LIKE '1%'
    AND A.CodPrv = B.CodPrv AND A.Referencia = B.Referencia
    AND B.ForPago = 1
 GROUP BY B.ForPago, B.PerPago
 ORDER BY ForPago, PerPago

Se ejecuta a la perfección pero me gustaría que en vez de este resultado:
Cita:

Recibos Importe ForPago PerPago
2 60,00 1 0
10
78,0011
60
334,0011
3
43,0012
13
141,0012
84
1.614,00 13
1737
26.961,00 13
se obtuviera este otro:
Cita:

Recibos Importe ForPago PerPago
2 60,00 1 0
70
412,00 1 1
16
174,00 1 2
1821
28.575,00 1 3
Y no se me ocurre como hacerlo.

TiammatMX 05-02-2014 19:46:11

Pues tu solución podría ser asignar a los campos un alias y referirte a él para que el resultado de UNION te provea resultados únicos...

...o refinar un poco más tu SQL.;)


La franja horaria es GMT +2. Ahora son las 15:20:40.

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