Como hacer un Join php mysql con 2 where de distintas tablas

Necesito de su ayuda otra vez.

Tengo este ejemplo de código. Un join right que funciona perfecto. Lo que necesito es que me muestre todos los valores de la tabla1 y relacione la tabla2, esto lo logre con este código:

$consulta_mysql="select tabla1.id,tabla1.nombre,tabla1.id_relacion,tabla2.id,tabla2.precio,
                     from tabla1
                         right join tabla2 on tabla1.id_relacion=tabla2.id where tabla2.id='Filtro 1' 
                         order by tabla2.id ASC";
 $resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion);

pero no puedo hacerlo si agrego un filtro (where) de la otra tabla, Por ejemplo asi:

$consulta_mysql="select tabla1.id,tabla1.nombre,tabla1.id_relacion,tabla2.id,tabla2.precio,
                     from tabla1
                         right join tabla2 on tabla1.id_relacion=tabla2.id where tabla2.id='Filtro 1' and tabla1.id=2
                         order by tabla2.id ASC";
 $resultado_consulta_mysql=mysql_query($consulta_mysql,$conexion);

me podrian ayudar por favor?

En resumen, me gustaría por ejemplo:

Tabla1

id      dia

1 Lunes

2 Martes

3 Miércoles

Tabla 2:

id             Valor     Usuario

Lunes        12        Lucas

Lunes        33         Pepe

Quiero en este caso que me muestre todos los días y en lunes tener los datos de solo "Lucas" .

2 respuestas

Respuesta
1

http://sqlfiddle.com/#!9/dbe986/2 

Esas tablas no tienen mucho sentido, no se si sera un ejemplo, por ejemplo, ya que Lunes tiene un id, 1 en este caso lo suyo seria usar ese id en la tabla 2... pero echa un ojo a ver si es lo que necesitas.

Respuesta

En la tabla 2, en el campo id deberías poner los id numéricos asignados a cada día.
Estas diciendo que te traiga un resultado cuando los id son iguales en ambas tablas, pero por ejemplo el lunes en una tabla es 1 y en la otra es 'Lunes' por esto nunca va a funcionar.

Las tablas deberían ser así:

Tabla 1:

Id día

1 Lunes

2 Martes

3 Miércoles

Tabla 2:

id       Valor       Usuario

1         12           Lucas

1         33           Pepe

Es lo primero que se me viene a la mente, a no ser que cuando le pasas 'FILTRO1' este si sea un string 'LUNES' y eso cambiaría las cosas pero creo que deberías prolijar primero esas tablas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas