FoxPro/Visual FoxPro - Como juntar registros

   
Vista:

Como juntar registros

Publicado por Ana (20 intervenciones) el 16/02/2016 20:52:52
Hola Gente!!!! Mi problema a resolver es; tengo una tabla donde almaceno: tipo de comprobante - n° de comprobante - importe. Necesito sumar los importes de los registros que tengan mismo tipo y numero de comprobante.

Ej:
Tengo estos registros:
FA - 00001 - 100
FA - 00001 - 20
FA - 00002 - 200
FA - 00002 - 120
FA - 00002 - 100
FA - 00003 - 20
FA - 00003 - 50
FA - 00004 - 20

Me tiene que quedar:
FA - 00001 - 120
FA - 00002 - 420
FA - 00003 - 70
FA - 00004 - 20

Hay alguna forma de hacerlo con SELECT?
Desde ya muchas gracias!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como juntar registros

Publicado por tony toredelcastillo@gmail.com (7 intervenciones) el 16/02/2016 21:36:22
creo que la pregunta seria agrupar
ahi te va solo ese cuestion de analizar espero que sea lo que buscas
1
2
3
4
5
6
7
8
9
10
11
for i=1 to 4
x=alltrim(str(i))
juntar_serie=padl(x,5,"0")
*o tambien pude ser
juntar_serie="0000"+x)
 
SELECT tabla FROM num_comprobante where=juntar_serie ORDER BY num_comprobante asc INTO CURSOR nombre_cursor
 
sum importe to ximp
*la variable imp muestra los totales por serie y eso lo ves si lo almacenas y los muestras donde tu quieras
endfor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como juntar registros

Publicado por Foxshin (34 intervenciones) el 16/02/2016 23:13:54
Hola.

Haber, la idea es hacer una agrupacion y un SUM. Para ello tendríamos que saber exactamente cuales son las columnas de la tabla(s) que intervienen y en qué versión de VFP lo harías.
Haremos varias suposiciones, ya tu lo adecuas al caso.
Version de VFP: 6.0 (Si usas una version superior sería sólo cosa de setear el ENGINEBEHAVIOR a 70)
Nombre de la Tabla: Tabla1
Tipo de comprobante: TipCom C(3)
N° de comprobante: NroCom C(5)
Importe: ImpCom N(10,2)

La sentencia sería:
1
2
3
4
5
6
SELECT TipCom, NroCom, SUM(ImpCom) FROM Tabla1 GROUP BY TipCom,NroCom INTO CURSOR cSuma
**
IF USED('cSuma')
   BROWSE
ENDIF
**

Creo que eso es todo, espero te sirva de ayuda o referencia.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Como juntar registros

Publicado por jose maria martin (2 intervenciones) el 17/02/2016 12:10:24
Con un Select:

select tipo, codigo , SUM(importe) as importe FROM PRUEBA where tipo = 'FA' group by tipo, codigo

Un saludo.

Probado en SQL Server 2012.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar