Query muestra muchas líneas repetidas

Buenas tardes.

Tengo este Query que me muestra lo que requiero pero me esta mostrando muchas líneas repetidas de la misma actividad no se si es un tema de agrupamiento. Agradezco la ayuda.

SELECT T1."DocNum" AS "Doc Preliminar", T1."ClgCode", T1."CntctSbjct", T4."Name", T1."BeginTime" AS "H.Inicio", T1."Recontact" AS "FInicio", T1."ENDTime" AS "H.Final", T1."endDate" AS "FFinal", T1."Duration" AS "Duracion", T1."AssignedBy"AS "Asignado", T2."U_NAME" AS "Usuario", T1."CntctType" AS "Clase", T0."Name", T1."Action", T1."CardCode", T3."CardName",  T1."Notes", T6."U_NAME" 
FROM OCLT T0  
INNER JOIN OCLG T1 ON T0."Code" = T1."CntctType" 
INNER JOIN OUSR T2 ON T1."AttendUser" = T2."USERID" 
INNER JOIN OCRD T3 ON T1."CardCode" = T3."CardCode" 
INNER JOIN OCLS T4 ON T1."CntctSbjct" = T4."Code" 
INNER JOIN ODLN T5 ON T3."CardCode" = T5."CardCode" 
INNER JOIN OUSR T6 ON T5."UserSign" = T6."USERID" WHERE T1."CntctType" in('14') 
ORDER BY T6."U_NAME"

Utiliza el
select distinct

1 me gusta

Gracais por la respuesta, sin embargo me muestra error.

Proba esta query y luego me avisas si funciona.

SELECT T1."DocNum" AS "Doc Preliminar", T1."ClgCode", T1."CntctSbjct", T4."Name", T1."BeginTime" AS "H.Inicio", T1."Recontact" AS "FInicio"
, T1."ENDTime" AS "H.Final", T1."endDate" AS "FFinal", T1."Duration" AS "Duracion", T1."AssignedBy"AS "Asignado", T2."U_NAME" AS "Usuario"
, T1."CntctType" AS "Clase", T0."Name", T1."Action", T1."CardCode", T3."CardName",  T1."Notes" 

FROM OCLT T0  
INNER JOIN OCLG T1 ON T0."Code" = T1."CntctType" 
INNER JOIN OUSR T2 ON T1."AttendUser" = T2."USERID" 
INNER JOIN OCRD T3 ON T1."CardCode" = T3."CardCode" 
INNER JOIN OCLS T4 ON T1."CntctSbjct" = T4."Code" 
INNER JOIN ODLN T5 ON T1."DocNum" = T5."DocNum" 
INNER JOIN OUSR T6 ON T5."UserSign" = T6."USERID" 

WHERE T1."CntctType" in('14')

Saludos.

1 me gusta

Buen día Ale agradezco tu respuesta

No me muestra nada el codigo lo cambie porque uso Hanna te adjunto ademas el error que no comprendo muy bien

SELECT T1."DocNum" AS "Doc Preliminar", T1."ClgCode", T1."CntctSbjct", T4."Name", T1."BeginTime" AS "H.Inicio", T1."Recontact" AS "FInicio", T1."ENDTime" AS "H.Final", T1."endDate" AS "FFinal", T1."Duration" AS "Duracion", T1."AssignedBy"AS "Asignado", T2."U_NAME" AS "Usuario", T1."CntctType" AS "Clase", T0."Name", T1."Action", T1."CardCode", T3."CardName", T1."Notes"

FROM OCLT T0
INNER JOIN OCLG T1 ON T0."Code" = T1."CntctType"
INNER JOIN OUSR T2 ON T1."AttendUser" = T2."USERID"
INNER JOIN OCRD T3 ON T1."CardCode" = T3."CardCode"
INNER JOIN OCLS T4 ON T1."CntctSbjct" = T4."Code"
INNER JOIN ODLN T5 ON T1."DocNum" = T5."DocNum"
INNER JOIN OUSR T6 ON T5."UserSign" = T6."USERID"

WHERE T1."CntctType" in('14')

Yo también utilizo Hanna. Verificaste que tengas un registro con el id 14?
No obstante, en tu código original:

Cambiale el “CardCode” por el “DocNum” y ya debería funcionar.

No te olvides de verificar que en tu where le estás pasando un identificador válido.

Otra cosa, podrías indicarme qué fue lo que cambiaste?

Gracias Ale

En realidad no cambie nada solo me mostro un error, el que te adjunte mas arriba

SELECT T1."DocNum" AS "Doc Preliminar", T1."ClgCode", T1."CntctSbjct", T4."Name", T1."BeginTime" AS "H.Inicio", T1."Recontact" AS "FInicio", T1."ENDTime" AS "H.Final", T1."endDate" AS "FFinal", T1."Duration" AS "Duracion", T1."AssignedBy"AS "Asignado", T2."U_NAME" AS "Usuario", T1."CntctType" AS "Clase", T0."Name", T1."Action", T1."CardCode", T3."CardName", T1."Notes", T6."U_NAME"

FROM OCLT T0
INNER JOIN OCLG T1 ON T0."Code" = T1."CntctType"
INNER JOIN OUSR T2 ON T1."AttendUser" = T2."USERID"
INNER JOIN OCRD T3 ON T1."CardCode" = T3."CardCode"
INNER JOIN OCLS T4 ON T1."CntctSbjct" = T4."Code"
INNER JOIN ODLN T5 ON T1."DocNum" = T5."DocNum"
INNER JOIN OUSR T6 ON T5."UserSign" = T6."USERID"

WHERE T1."CntctType" in('14')

Pero me dijiste que el código lo cambiaste por usar Hanna.

Noe n realidad eran las comillas
pero muestra un error como de un ; pero no muestra nada el codigo.

Igual, podrías resumirme qué es lo que está pretendiendo hacer?

Me estaba fijando más detenidamente, como yo no tengo el “U_name”, asumo que es un campo de usuario y por ende no lo incluí en la query que te pasé.

Veo que haces referencia a ese campo y de hecho lo incluiste en la query, intenta no incluirlo y ejecuta esa misma query así tal cuál te pasé.

Hola Ale efectivamente te explico lo que quiero.

Mis agentes de ventas hacen actividades ligadas a errores que reportan los clientes por mal envió de cantidad o producto. Y este query me lo da perfecto, pero la gerencia quiere que en ese mismo query me muestre el usuario que hizo la entrega de ese producto, ese es el problema que cuando le indico que me traiga ese usuario me esta repitiendo muchas veces la misma linea.

Si quieres me puedo conectar a tu equipo para mirar tu código. Tendrías AnyDesk?

Hola @LuiskSiles yo creo que estas utilizando mal tus JOINS, no siempre es correcto utilizar INNER, hecha un vistazo a esta liga ht_ps://ingenieriadesoftware.es/tipos-sql-join-guia-referencia/

Saludos.

1 me gusta

Como te dije, hice un copy paste de tu propio código y lo metí en mi generador de consultas, solamente exceptuando el campo “U_name”, porque entiendo que es un campo de usuario.

Entonces, dicho esto, te dejo la captura de la prueba que he hecho y sí funciona con los cambios que le hice.

Te repito, si tienes AnyDesk, podría conectarme a verificar qué es lo que estás haciendo mal.

totalmente de acuerdo

Hola @LuiskSiles, creo que tu problema está en esa línea, pues la actividad se repetirá tantas veces como entregas existan de ese cliente. En este caso deberías agregar otro filtro en ese INNER, por ejemplo el DocNum o DocEntry de la entrega que se está reportando en la actividad, de esa forma el resultado no se repetirá.

saludos.

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.