Cita: el problema es que TBL2 puede tener de 1 a N registros y por ende me trae TODOS los registros repetidos y no tengo forma de diferenciarlos. Hay algo que estoy diseñando mal
No, no estás haciendo nada mal.
Si la relación entre la tabla 1 y la tabla 2 es 1:N, donde la T2 es de cardinalidad N, siempre se repetirá una instancia de la T1 que se relacione con la T2,
por cada relación válida que exista.
Eso es el resultado esperado y normal de esa consulta.
Ahora bien, si lo que quieres es generar un reporte donde cada instancia de la T1 sólo aparezca en la primera columna de la primera línea, y sólo se diferencie en la segunda columna, eso lo haces de dos formas:
1) Por programación, en especial en paginas web. Es simple y sencillo, pero off-topic de este foro. Dependerá de qué lenguaje estés usando.
2) En MySQL, usando WITH ROLLUP en la cláusula GROUP BY sobre el campo de la T1, pero eso te traerá NULL en cada uno de los subsiguientes registros...
Código MySQL:
Ver originalSELECT T1.id
, T1.nombre
, T1.apellido apellidoT1
, T2.apellido atelllidoT2