your you usar que number joins inner have funciona explicacion errorcode error efficiency doble despues condiciones con como mysql sql where-clause mysql-error-1064

mysql - you - usar where con inner join



MySql Inner Join con la cláusula WHERE (4)

Está utilizando dos cláusulas WHERE pero solo una está permitida. Úsalo así:

SELECT table1.f_id FROM table1 INNER JOIN table2 ON table2.f_id = table1.f_id WHERE table1.f_com_id = ''430'' AND table1.f_status = ''Submitted'' AND table2.f_type = ''InProcess''

Aquí está mi código:

SELECT table1.f_id FROM table1 WHERE table1.f_com_id = ''430'' AND table1.f_status = ''Submitted'' INNER JOIN table2 ON table2.f_id = table1.f_id where table2.f_type = ''InProcess''

Necesito información de la table1 ya que todos los ID asociados con f_com_id como 430 y el estado tal como se envió y el tipo debe estar solo en el proceso que se almacena en otra tabla (tabla table2 )

f_id es p_key y f_key en ambas tablas.
Pero esto me está dando errores, creo que estoy colocando mal la cláusula WHERE , ¿cómo solucionarlo?

Mensaje de error: # 1064: tiene un error en su sintaxis SQL; revise el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de ''INNER JOIN table2 ON table2.f_id ='' en la línea 2


Sí, tiene usted razón. Usted ha colocado la cláusula WHERE mal. Solo puede usar una cláusula WHERE en una sola consulta, así que pruebe AND para varias condiciones como esta:

SELECT table1.f_id FROM table1 INNER JOIN table2 ON table2.f_id = table1.f_id WHERE table2.f_type = ''InProcess'' AND f_com_id = ''430'' AND f_status = ''Submitted''


Sólo se podría escribir una cláusula donde.

SELECT table1.f_id FROM table1 INNER JOIN table2 ON table2.f_id = table1.f_id where table1.f_com_id = ''430'' AND table1.f_status = ''Submitted'' AND table2.f_type = ''InProcess''



1. Cambie el INNER JOIN antes de la cláusula WHERE.
2. Tienes dos WHEREs que no están permitidos.

Prueba esto:

SELECT table1.f_id FROM table1 INNER JOIN table2 ON (table2.f_id = table1.f_id AND table2.f_type = ''InProcess'') WHERE table1.f_com_id = ''430'' AND table1.f_status = ''Submitted''