Adi*_*mar 29 mysql sql where-clause mysql-error-1064
这是我的代码:
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'
Run Code Online (Sandbox Code Playgroud)
我需要信息来自table1与f_com_id430 相关联的所有id 和提交的状态,并且该类型应仅在存储在其他表(table2)中的进程中
f_id是p_key和f_key在两个表中.
但这给了我错误,我认为我把这个WHERE条款写错了,如何修复它.
错误消息:#1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以便在第2行的'INNER JOIN table2 ON table2.f_id ='附近使用正确的语法
him*_*056 49
是的,你是对的.你已经把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'
Run Code Online (Sandbox Code Playgroud)
1.在WHERE子句之前更改INNER JOIN.
你有两个不允许的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'
| 归档时间: |
|
| 查看次数: |
134239 次 |
| 最近记录: |