![]() |
Ayuda con consulta que me tiene ...
Hola, tengo 2 tablas, Entradas y transformaciones para una planta de despiece de pavo, las tablas tienen la siguiente información:
Entradas Transformaciones lote kgs_entrada lote articulo kgs -------------------- ------------------------------ A 120 A X 25 A 200 A X 20 B 36 A Y 200 Quiero hacer una consulta que me de lo siguiente: consulta lote entrada articulo kgs rendimiento(kgs/entrada) ------------------------------------------------------------------- A 320 X 45 0,14 A 320 Y 200 0.62 Es decir, que me de el rendimiento de cada articulo por lote No se si me he explicado bien, pero con sum y group by no soy capaz de sacarlo, si me pudieran ayudar... Un saludo y gracias de ante mano.:confused: |
perdon, pero creo que no han quedado las tablas claras arriba
Entradas lote kgs ====== A 120 A 200 B 142.5 Transformaciones lote articulo kgs ============ A X 25 A X 20 A Y 200 Perdonen si no he hecho bien mi pregunta |
Pues no acabo de captar claramente que es lo que quieres, porque no pones
Tabla1 campo1 campo2 ... Tabla2 campo1 campo2 ... Y luego el resultado que se obtendría con esos datos, para así hacernos una idea de lo que quieres. Un Saludo. |
Son 2 tablas, Tentradas y Ttransformaciones
Tentradas - lote - kgs - .... Ttransformaciones - lote - articulo - kgs - ... El funcionamiento es el siguiente: A la tabla entradas le llegan datos que son en realidad compras de canales completas. a esas entradas las identifica un lote, y puede haber mas de una entrada con el mismo lote. A la tabla transformaciones le llegan datos que son las distintas pesadas que se hacen después de haber despiezado las canales (p.e alas de pavo, filete de pavo...) y que se las da el mismo lote de las canales de las que proceden. La idea es poder ver el rendimiento de las canales que se compran, es decir, de 600 kgs que se compraron del lote A salieron 200 kgs de filetes, 150 de alas y 250 de muslos. En definitiva la consulta resultante sería algo así: lote..............entrada........articulo........kgs........rdto(kgs/entrada) ----------------------------------------------------------------- A...................600.............filete..........200..............0,33 A...................600.............alas...........150..............0,25 A...................600.............muslos........250..............0,42 Quizas ahora se entienda mejor, perdón por haberme explicado tan mal y muchas gracias |
Mira a ver si con esta idea lo logras:
Un Saludo. |
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 ......:confused: |
Prueba con esto :
|
igual, me sale lo mismo,
¿ que es lo que está mal? Esto me esta fastidiando ... |
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
y luego hice la siguiente consulta
Así sí funciona, lo probé Un saludo y espero que te valga esta forma. |
Utilizo access y no me deja crear vistas, no se si podré hacer algo parecido.
|
prueba a hacer lo siguiente a ver si te funciona:
1.-crea la siguiente query
2.- Crea dos campos calculados KgsEnt y RdTo donde: 2.1 kgsEnt es : 2.2 y Rdto es:
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 |
Joer, ahora si q me has liao, no te he entendido muy bien, ¿donde te creas los campos calculados?
Menuda consultita ... |
Cita:
|
si, uso delphi, pero bueno, como la consulta todavía no la tengo clara la estoy probando en access directamente, luego ya generarla en delphi y mandarla no tengo problema, pero claro, mientras la consulta no funcione....
Creo que me expliqué, gracias y un saludo. |
Cita:
Lo que tienes que hacer es agregar un componente Query a tu formulario, en la propiedad SQL pones :
luego haces dobleclick sobre el componente pinchas con el botón derecho y añades todos los campos, luego creas los campos que te comente anteriormente (KgsEnt y Rdto) pinchando con el botón derecho pero ahora eliges new field (Crea los dos). En el evento OnCalcField del query calculas el valor de estos dos campos como te comente aqui, para el campo KgsEnt tendras que usar otra query y agregarle la consulta que te indico. Finalmete solo te quedara asignarle un DataSource y este relacionarlo con una grid. Si tienes alguna duda sobre la utilización de los querys te recomiendo que te descargues La cara oculta de delphi 4 de aquí el libro tiene cosas que ya se quedaron algo anticuadas (ya tiene sus años) pero para lo que se comentó en este hilo te vale perfectamente. Espero que lo soluciones lo antes posible (mantenme informado ;) ) |
si señor, eres un genio, ya lo solucioné.
Me cré esa tabla en access con un select .... into y hice la consulta que tu me pasaste y.... ¡FUNCIONA! Muchisimas gracias, te debo una |
La franja horaria es GMT +2. Ahora son las 13:05:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi