consulta error
Estoy intentando hacer una consulta en mysql que consiste en lo siguiente:
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 .
- Inicie sesión o regístrese para enviar comentarios
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 .