Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Mira a ver si con esta idea lo logras:
Código SQL [-]
  Select E.lote, Sum(E.entrada),T.articulo,Sum(T.kgs),Sum( T.kgs / E.Entrada)  as Rdto 
  From Tenentradas as E,Ttransformaciones as T
  Where E.lote = t.Lote
  Group By E.Lote, T.Articulo

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #2  
Antiguo 07-11-2005
rtorioa rtorioa is offline
Miembro
 
Registrado: ene 2005
Posts: 25
Poder: 0
rtorioa Va por buen camino
Te ha pasado exactamente lo mismo que a mi, esa consulta no va bien
por cada ocurrencia en la tabla transformaciones de un articulo multiplica el sum(entradas),

es decir, me multiplica los sum por cada ocurrencia en las tablas, no lo entiendo ......
Responder Con Cita
  #3  
Antiguo 07-11-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 22
Ivanzinho Va por buen camino
Prueba con esto :

Código SQL [-]
Select E.lote, Sum(E.kgs), T.articulo,Sum(T.kgs), Sum(T.kgs)/Sum(E.kgs) as Rdto
from Tentradas as E, Ttransformaciones as T
Where E.lote = T.lote
Group By E.lote, T.articulo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 07-11-2005 a las 12:32:53.
Responder Con Cita
  #4  
Antiguo 07-11-2005
rtorioa rtorioa is offline
Miembro
 
Registrado: ene 2005
Posts: 25
Poder: 0
rtorioa Va por buen camino
igual, me sale lo mismo,
¿ que es lo que está mal?
Esto me esta fastidiando ...
Responder Con Cita
  #5  
Antiguo 07-11-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 22
Ivanzinho Va por buen camino
Mira lo probe y si que da el resultado que comentas, yo lo solucione de la sigunete manera

Cree la vista VEntrada donde agrupo todas las entradas del mismo lote en el mismo registro

Código SQL [-]
CREATE VIEW VENTRADA(LOTE,KGS)
AS
select lote, sum(kgs) from Tentrada
Group by lote;

y luego hice la siguiente consulta

Código SQL [-]
Select E.lote, E.kgs, T.articulo,Sum(T.kgs), Sum(T.kgs)/E.kgs as Rdto
from Ventrada E, Ttransformaciones T
Where E.lote = T.lote
Group By E.lote, T.articulo, E.kgs

Así sí funciona, lo probé

Un saludo y espero que te valga esta forma.
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 07-11-2005 a las 16:13:36.
Responder Con Cita
  #6  
Antiguo 08-11-2005
rtorioa rtorioa is offline
Miembro
 
Registrado: ene 2005
Posts: 25
Poder: 0
rtorioa Va por buen camino
Utilizo access y no me deja crear vistas, no se si podré hacer algo parecido.
Responder Con Cita
  #7  
Antiguo 08-11-2005
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 22
Ivanzinho Va por buen camino
prueba a hacer lo siguiente a ver si te funciona:

1.-crea la siguiente query

Código Delphi [-]
consulta := '';
consulta := consulta + 'Select lote, articulo,Sum(kgs) kgs ' ;
consulta := consulta + 'from Ttransformaciones ';
consutla := consulta + 'Group By lote, articulo';
 
query.Close;
query.SQL.Clear;
query.SQL.Add(consulta);
query.Open;

2.- Crea dos campos calculados KgsEnt y RdTo donde:
2.1 kgsEnt es :
Código SQL [-]
Select Sum(kgs) from Tentrada
where lote = querylote.value
2.2 y Rdto es:
Código Delphi [-]
Rdto := querykgs.value / querykgsEnt.value;

No lo probe pero debería funcionar, aunque igual hay algún error tonto por el medio pero no creo que te de problema alguno.

Pruébalo y ya me comentarás.

Suerte
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 08-11-2005 a las 10:27:46. Razón: Cambio Rdto, los parametros de la división estaban al revés
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 04:02:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi