Registros Repetidos |
Responder |
Autor | |
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Tema: Registros Repetidos Enviado: 04/Septiembre/2019 a las 22:45 |
Hola cordiales saludos a todos,
Tengo tres tablas unidas con un Inner Join, necesito hacer un conteo del campo "COD" y una sumatoria de toales del campo "VOL" El detalle que tengo es que el campo COD tiene registros repetidos, y necesito contar el unico registro con su sumatoria de totales. Hay alguna forma de excluir los repetidos en una sola consulta? SELECT T56W.PLANT_CLUSTER AS CLUSTER, T56W.REPORT_PLANT AS PLANT, Count(T56Y.COD) AS QTYCOD, Sum(T56W.VOL) AS VOLTOT FROM (T56W INNER JOIN T56Y ON (T56W.MFG_PLANT_ID = T56Y.MFG_PLANT_ID) AND (T56W.PART_NBR = T56Y.PART_NBR)) INNER JOIN T57B ON (T56Y.COD = T57B.COD) AND (T56Y.MFG_PLANT_ID = T57B.MFG_PLANT_ID) GROUP BY T56W.PLANT_CLUSTER, T56W.REPORT_PLANT; Erick Gamer |
|
Aprendiz de todos, maestro de nadie.
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 04/Septiembre/2019 a las 22:51 |
Hola!
Utiliza los predicados DISTINCT o DISTINCTROW Editado por mounir - 04/Septiembre/2019 a las 22:52 |
|
Un Saludo.
|
|
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Enviado: 04/Septiembre/2019 a las 23:03 |
Me arroja error: "Undefined function 'DISTINCT' in expression
SELECT T56W.PLANT_CLUSTER AS CLUSTER, T56W.REPORT_PLANT AS PLANT, DISTINCT(T56Y.COD) AS QTYCOD, Sum(T56W.VOL) AS VOLTOT FROM (T56W INNER JOIN T56Y ON (T56W.MFG_PLANT_ID = T56Y.MFG_PLANT_ID) AND (T56W.PART_NBR = T56Y.PART_NBR)) INNER JOIN T57B ON (T56Y.COD = T57B.COD) AND (T56Y.MFG_PLANT_ID = T57B.MFG_PLANT_ID) GROUP BY T56W.PLANT_CLUSTER, T56W.REPORT_PLANT; |
|
Aprendiz de todos, maestro de nadie.
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14746 |
Enviado: 04/Septiembre/2019 a las 23:06 |
El DISTINCT/DISTINCTROW va justo despues del SELECT y antes de los campos.
Añado: tal como se ve perfectamente en el enlace de mounir Editado por xavi - 04/Septiembre/2019 a las 23:07 |
|
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Enviado: 04/Septiembre/2019 a las 23:24 |
SELECT DISTINCT ([T56Y]![COD]) AS COD, T56W.PLANT_CLUSTER AS CLUSTER, T56W.REPORT_PLANT AS PLANT, Sum(T56W.VOL) AS VOLTOT FROM (T56W INNER JOIN T56Y ON (T56W.MFG_PLANT_ID = T56Y.MFG_PLANT_ID) AND (T56W.PART_NBR = T56Y.PART_NBR)) INNER JOIN T57B ON (T56Y.COD = T57B.COD) AND (T56Y.MFG_PLANT_ID = T57B.MFG_PLANT_ID)
|
|
Aprendiz de todos, maestro de nadie.
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 04/Septiembre/2019 a las 23:32 |
Hola!
Cuando son varias tablas creo que lo correcto es utilizar DISTINCTROW, aparte, debes contar el campo "COD", Agrupar por los campos "CLUSTER y PLANTA" , sumar "VO" Edito para añadir si no te sale con una consulta inténtalo con dos consultas, primero DISTINCTROW y luego agrupas y realizas las cuentas y sumas. Editado por mounir - 04/Septiembre/2019 a las 23:35 |
|
Un Saludo.
|
|
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Enviado: 04/Septiembre/2019 a las 23:41 |
Ya entre en dudas he realizado la consulta tal como me comentas y el resultado es exatamente el mismo que la primer consulta que postee al inicio.
SELECT T56W.PLANT_CLUSTER AS CLUSTER, T56W.REPORT_PLANT AS PLANT, Count(T56Y.COD) AS QTYCOD, Sum(T56W.VOL) AS VOLTOT FROM (T56W INNER JOIN T56Y ON (T56W.MFG_PLANT_ID = T56Y.MFG_PLANT_ID) AND (T56W.PART_NBR = T56Y.PART_NBR)) INNER JOIN T57B ON (T56Y.COD = T57B.COD) AND (T56Y.MFG_PLANT_ID = T57B.MFG_PLANT_ID) GROUP BY T56W.PLANT_CLUSTER, T56W.REPORT_PLANT; |
|
Aprendiz de todos, maestro de nadie.
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 04/Septiembre/2019 a las 23:54 |
Hola!
No has hecho nada de lo que te comenté, Un ejemplo sencillo http://www.filebig.net/files/gEreBtQcC6 |
|
Un Saludo.
|
|
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Enviado: 05/Septiembre/2019 a las 00:02 |
Perdon Mounir postee la primer consulta
Esta es la que hice con los cambios mencionados. SELECT DISTINCTROW ([T56Y]![COD]) AS COD, T56W.PLANT_CLUSTER AS CLUSTER, T56W.REPORT_PLANT AS PLANT, Sum(T56W.VOL) AS VOLTOT FROM (T56W INNER JOIN T56Y ON (T56W.MFG_PLANT_ID = T56Y.MFG_PLANT_ID) AND (T56W.PART_NBR = T56Y.PART_NBR)) INNER JOIN T57B ON (T56Y.COD = T57B.COD) AND (T56Y.MFG_PLANT_ID = T57B.MFG_PLANT_ID) GROUP BY T56W.PLANT_CLUSTER, T56W.REPORT_PLANT; |
|
Aprendiz de todos, maestro de nadie.
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 05/Septiembre/2019 a las 13:16 |
En la imagen que colocas, los códigos sin distintos. Por eso no agrupa. Deberías colocar aquí una vista de las 3 tablas en diseño y otra con datos para poder ayudarte.
|
|
guarracuco
Moderador Unido: 24/Abril/2004 Localización: EEUU Estado: Sin conexión Puntos: 3239 |
Enviado: 07/Septiembre/2019 a las 15:13 |
Erick, pudiste resolver la consulta? Agrego: Con la informacion suministrada, poco o nada podemos ayudar. Debes suministrar vista con datos de las 3 tablas.
Editado por guarracuco - 07/Septiembre/2019 a las 15:16 |
|
Erick Gamer
Asiduo Unido: 08/Mayo/2016 Localización: Mexico Estado: Sin conexión Puntos: 387 |
Enviado: 17/Septiembre/2019 a las 17:39 |
Perdon por no contestar antes,
La solución correcta fue usar SELECT DISTINCTROW, la duda que me habia nacido era porque la primer consulta posteada y la recomendada por mounir me arrojaban el mismo resultado. Error no estaba agrupando un campo por ello no miraba la diferencia, corregi y solucionado. Saludos, pueden cerrar el hilo Muchas Gracias!!!!! Erick Gamer
|
|
Aprendiz de todos, maestro de nadie.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |