MySql Inner Join with WHERE clause

MysqlSqlWhere ClauseMysql Error-1064

Mysql Problem Overview


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

Mysql Solutions


Solution 1 - Mysql

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' 

Solution 2 - Mysql


  1. Change the INNER JOIN before the WHERE clause.

  2. You have two WHEREs which is not allowed.

Try this:

>

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

Solution 3 - Mysql

You could only write one where clause.

 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'

Solution 4 - Mysql

You are using two WHERE clauses but only one is allowed. Use it like this:

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'

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAditya KumarView Question on Stackoverflow
Solution 1 - MysqlHimanshu JansariView Answer on Stackoverflow
Solution 2 - MysqlMistdemonView Answer on Stackoverflow
Solution 3 - MysqlxdazzView Answer on Stackoverflow
Solution 4 - MysqlAboQutieshView Answer on Stackoverflow