Подтвердить что ты не робот

MySql Inner Присоединиться к предложению WHERE

Вот мой код:

 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'

Мне нужна информация из table1, как и весь идентификатор, связанный с f_com_id как 430, и статус как представленный, и тип должен быть только в процессе, который хранится в другой таблице (table2)

f_id - это p_key и f_key в обеих таблицах.
Но это дает мне ошибки, я думаю, что я помещаю предложение WHERE неправильно, как его исправить.?

Ошибка msg: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с таблицей "INNER JOIN table2" ON table2.f_id = 'в строке 2

4b9b3361

Ответ 1

Да, вы правы. Вы положили предложение WHERE неправильно. Вы можете использовать только одно предложение WHERE в одном запросе, поэтому попробуйте AND для нескольких условий, подобных этому:

 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' 

Ответ 2


1. Измените INNER JOIN перед предложением WHERE.
2. У вас есть два WHERE, которые не разрешены.

Попробуйте следующее:

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'

Ответ 3

Вы можете написать только одно предложение where.

 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'

Ответ 4

вы используете два аргумента where, которые являются неправильными, только один, где разрешено использовать в запросе Mysql я думаю, вам нужно дважды проверить свои знания Mysql.

используйте его так

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'