一尘不染

MySql Inner Join with WHERE子句

sql

这个问题不太可能对将来的访客有所帮助;它仅与较小的地理区域,特定的时间段或格外狭窄的情况(通常不适用于Internet的全球受众)有关。要获得使该问题更广泛适用的帮助请访问帮助中心

7年前关闭。

这是我的代码:

 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_id430相关联的ID和已提交状态的信息,并且该类型应该仅在存储在其他table(table2)中的过程中

f_idp_keyf_key在两个表中。
但这给了我错误,我想我把这个WHERE子句放错了,怎么解决呢?

错误消息:#1064-您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以在第2行的’INNER JOIN table2 ON
table2.f_id =’附近使用正确的语法


阅读 201

收藏
2021-03-17

共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'
2021-03-17