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''