![]() |
Registros repetidos Firebird
Hola a todos
Tengo una consulta en SQL: Esta consulta me da los siguientes registros: ND0000001__FC0000009__2640000__2476000__1000__08.04.2013 ND0000001__FC0000009__1601000___111000__1000__08.04.2013 ND0000002__FC0000008__2640000__2476000__2000__08.04.2013 ND0000002__FC0000008__1601000___111000__2000__08.04.2013 En la tabla NOTAS solo hay dos registros: ND0000001__FC0000009__1000__08.04.2013 ND0000002__FC0000008__2000__08.04.2013 el PROC_FCPDTES tambien posee dos registros: FC0000007__19.03.2013__2640000__2476000 FC0000009__19.03.2013__1601000___111000 No se como evitar que se dupliquen los registros, ya he incluido DISTINCT en FACT pero me arroja este error: SQL error code = -104 Token unknow Gracias de antemano por su ayuda. |
me parece que los datos que has puesto en el ejemplo no corresponden a la consulta
porque yo veo que todos los registros son diferentes si puedieras explicar con un poco mas de detalles que es lo que necesitas quiza alguien pueda darte una mano |
Gracias por responder, si son los datos lo que pasa es que muestro los registros que hay en cada tabla, pero quizas no me explique bien.
Entonces: - Los campos de la tabla NOTAS son NOTA,FACT,VALO,FECH,OBSE - Los campos del procedimiento PROC_FCPDTES son VR,SA - El campo fecha en el procedimiento PROC_FCPDTES no lo tengo en cuenta para la consulta |
como se relacionan esas 2 tablas?
cual es el campo en comun? |
en NOTAS se llama FACT y en PROC_FCPDTES se llama FA
|
A ver intenta de esta forma
|
se me olvido comentar otra cosa:
el PROC_FCPDTES(1,2,3) tiene 3 parametros de entrada, el parametro 2 y 3 los dejo vacio y el 1 solicita es el codigo del cliente CLIEN que lo saco de una tabla de facturas SELECT CLIEN FROM FACTU WHERE ID_FC = FACT > este campo esta en notas |
ya me confundiste mas
ese PROC_FCPDTES es un procedimiento? es una tabla? que es? |
es un procedimiento, pero ya arregle el problema, me diste la idea y fue reemplazar
LEFT JOIN PROC_FCPDTES((SELECT CLIEN FROM FACTU WHERE ID_FC = FACT),'','') p ON 1=1 por esto LEFT JOIN PROC_FCPDTES((SELECT CLIEN FROM FACTU WHERE ID_FC = FACT),'','') p ON FACT=FA ahi ya no repite registros, gracias por tu ayuda me sirvio para guiarme |
ok me da gusto saber q fui de ayuda,
pero para la prox... trata de dar un mejor mensaje a la primera con todos los datos, cosa que tendremos una mejor idea que problema saludos |
| La franja horaria es GMT +2. Ahora son las 23:53:11. |
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