consulta error

Estoy intentando hacer una consulta en mysql que consiste en lo siguiente:

TENGO 3 TABLAS enlazadas asi--> TABLA 1 ------>tabla3<---tabla 2
                                             1   1:N        1:N 1

tabla 1 :idTABLA1
            NOMBRE

tabla2 :idTABLA2-->PK
          IDtaBLA1
          IDTABLA3

TABLA3 :Idtabla3
             fecha

Quiero que me muestre todos los elementos de la tabla 1 cuyo nombre sea carlos como los elementos de la tabla2 cuya fecha sea actual y  que sea carlos tambien.

Me sale con esta consultas, todos los elementos de la tabla 1  que sea carlos y me muestra de la tabla 2 todas las fechas actuales sin tener en cuenta a carlos.¿alguna idea?

SELECT tb3idtabla2., tb1.idtabla1, tb2.fecha,tb1.nombre FROM tabla1 tb1 left join tabla3 tb3
 on tb1.idtabla1= tb3.idTabla3  left join tabla2 tb2
 on tb3.idTabla3=tb2.idTabla2
 where (tb2.fecha=curdate() ) or (tb2.fecha is null) and tb1.nombre='"carlos'";

Gracias .

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Lia

Cual es el error?

Bueno, mi granito de arena aqui va :)
Estoy iniciando en el mundo de la programacion, pero yo lo haria de la siguiente manera:

SELECT tbl.* FROM tabla1 tbl INNER JOIN tabla2 tbl2 ON tbl2.IDTABLA1 = tbl1.IDTABLA1
INNER JOIN tabla3 tbl3 ON tbl2.IDTABLA3 = tbl3.IDTABLA3 WHERE tbl.NOMBRE LIKE 'CARLOS'
HAVING(tbl3.FECHA = SELECT CURDATE());

Aqui extraigo todos los datos de la tabla 1 (tbl) y ademas hago interseccion entre la tabla 1 y tabla 2
luego hago otra interseccion con la tabla 2 y la tabla 3 Finalmente comparo que el nombre sea Carlos
pero que ademas la fecha (que supongo esta en la tabla 3 sea igual a la fecha actual), Si entendi bien lo que necesitas esta consulta te servira
intentalo y me dices

Gracias lia, lo voy a mirar

Gracias lia, lo voy a mirar ahora .