Search code examples
mysqlsqlwhere-clausemysql-error-1064

MySql Inner Join with WHERE clause


Here is my code:

 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'

I need information from table1 as all the id associated with f_com_id as 430 and status as submitted and the type should be only in process which is stored in other table(table2)

f_id is p_key and f_key in both the tables.
But this giving me errors, I think I am placing the WHERE clause wrong, how to fix it.?

Error msg: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN table2 ON table2.f_id = ' at line 2


Solution

  • Yes you are right. You have placed WHERE clause wrong. You can only use one WHERE clause in single query so try AND for multiple conditions like this:

     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'