Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2007
Carlex Carlex is offline
Miembro
 
Registrado: feb 2004
Ubicación: Bolivia
Posts: 88
Poder: 21
Carlex Va por buen camino
Unhappy Consulta de suma y ultimo campo

Buenas tengo una base de datos en access para el control de almacen guardar el item, la cantidad de ingreso o egreso, el costo q implico y cual fue la cantidad anterior al movimiento (esto para sacar saldos a una fecha determinada)
Q tiene la siguiente estructura

Cod Item CantI CantE CantAnt CostoI CostoE
1466--AMBIE----0----1-----0-------$b 0,000-------$b 7,95
1494--AMBIE----12---0-----12------$b 120,00------$b 0,00
1473--CABLO----5----0-----5-------$b 40,00-------$b 0,00
1474--CABLO----0----1-----4-------$b 0,000-------$b 8,00
1483--DISK-----0----1-----62-------$b 0,000-------$b 1,79
1487--DISK-----0----1-----61-------$b 0,000-------$b 1,79
1491--DISK-----0----3-----58-------$b 0,000-------$b 5,37

Ahora bien debo armar un reporte del mes para lo cual debo obtener el siguiente resultado.

Item CantI CantE CantAnt CostoI CostoE
AMBIE----12----1----12----$b 120,00---$b 7,95
CABLO----5----1-----4-----$b 40,00----$b 8,00
DISK------0----5 ----58----$b 0,000----$b 5,58

Es decir q agrupe los items, sume las cantidades de ingreso y egreso, sume los costos de ingreso y egreso y q me ponga la ultima cantidad (saldo).

Intente con una subconsulta para 1ro obtener la ultima cantidad y luego con otra consulta los totales pero no me sale . Alguna sugerencia para una consulta o de plano hay q cambiar la estructura de la tabla?
Muchas gracias por el tiempo prestado

Última edición por Carlex fecha: 05-10-2007 a las 17:15:12. Razón: Arreglar formato
Responder Con Cita
  #2  
Antiguo 05-10-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Prueba con esto

Código SQL [-]
select item, sum(canti) AS CANTI,sum(CantE) AS CANTE,
last(cantAnt) as CANTANT, sum(ConstoI) AS COSTOI, sum(CostoE) AS COSTOE
group by item
order by Cod

El unico problema que puedes tener es que el last ( ultimo registro ) no coincida con el orden.

Suerte y un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 05-10-2007
Carlex Carlex is offline
Miembro
 
Registrado: feb 2004
Ubicación: Bolivia
Posts: 88
Poder: 21
Carlex Va por buen camino
Cita:
El unico problema que puedes tener es que el last ( ultimo registro ) no coincida con el orden.
Probe este query pero como mensionas justamente last no me bota el ultimo registro, como se podria subsanar ese problema si el orden en el q se ingreso esta bien. Cuando colo last(Cod) recien me bota el saldo(CantA) correcto.

Gracias por la respuesta
Responder Con Cita
  #4  
Antiguo 07-10-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Prueba a incluir en los campos de ordenación el que te interesa, a pesar de que no se visualice.
No estoy seguro de que funcione, pero tampoco de que no lo haga.

Código SQL [-]
select item, sum(canti) AS CANTI,sum(CantE) AS CANTE,
last(cantAnt) as CANTANT, sum(ConstoI) AS COSTOI, sum(CostoE) AS COSTOE
group by item
order by Cod, CantAnt

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #5  
Antiguo 08-10-2007
Carlex Carlex is offline
Miembro
 
Registrado: feb 2004
Ubicación: Bolivia
Posts: 88
Poder: 21
Carlex Va por buen camino
Probe lo q indicas pero la consulta no funciona dado q COD debe estar dentro del GROUP BY. Y si esta la agrego ordena sin agrupar ni nada.

Creo q la solucion podria pasar por una subconsulta o de plano cambiar la estructura de la tabla...
Responder Con Cita
  #6  
Antiguo 09-10-2007
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
A grandes males grandes remedios.

Incluye el campo COD , y luego pasa de él: no lo visualices, no lo utilices para nada, sólo para lo que quieres.

Código SQL [-]
select item, last(cod),sum(canti) AS CANTI,sum(CantE) AS CANTE,
last(cantAnt) as CANTANT, sum(ConstoI) AS COSTOI, sum(CostoE) AS COSTOE
group by item
order by item, cod

Ya nos dirás.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 10-10-2007
Carlex Carlex is offline
Miembro
 
Registrado: feb 2004
Ubicación: Bolivia
Posts: 88
Poder: 21
Carlex Va por buen camino
Por lo menos access no permite eso, al estar en el ORDER BY debe aparecer en el GROUP BY ese mensaje sale al momento de ejecutar la consulta
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
Seleccionar el ultimo registro de un campo juangabriel1786 MySQL 2 25-08-2007 04:35:32
mostrar la suma de un campo ebeltete SQL 2 04-09-2004 01:43:48
Suma de un campo silviodp Conexión con bases de datos 13 11-06-2004 16:51:23
Suma de campo calculado tgsistemas Conexión con bases de datos 4 27-04-2004 09:08:17
suma de un campo sql noe SQL 16 19-01-2004 18:52:54


La franja horaria es GMT +2. Ahora son las 06:55:31.


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