Sql 查询错误-列名称不明确(包括型号)

Sql 查询错误-列名称不明确(包括型号),sql,Sql,我正在尝试连接两列并得到错误: Error when executing SQL query on database 'test': ambiguous column name: candidates2.id 这项工作: SELECT * FROM candidates2 WHERE caniddates2.id = '1' 它返回第一条记录 但是,这并不是: SELECT * FROM candidates2, jobs JOIN candidates2 ON (candidate

我正在尝试连接两列并得到错误:

Error when executing SQL query on database 'test': ambiguous column name: candidates2.id
这项工作:

SELECT * FROM candidates2
WHERE caniddates2.id = '1'
它返回第一条记录

但是,这并不是:

SELECT * FROM candidates2, jobs
JOIN candidates2
    ON (candidates2.id = jobs.candidate_id)
我得到了上面的错误

我做错了什么

供参考的模型(在使用SqlAlchemy的Python中):


不要混合隐式连接和显式连接。。使用带有适当On子句的内部联接作为联接

SELECT * 
FROM candidates2
JOIN jobs  ON candidates2.id = jobs.candidate_id
您的列名不明确,因为您在两个表中都有列id。为了避免这种情况,您需要别名,例如:

SELECT candidates2.id as c_id,  jobs.id as j_id
FROM candidates2
JOIN jobs  ON candidates2.id = jobs.candidate_id

不要混合隐式连接和显式连接。。使用带有适当On子句的内部联接作为联接

SELECT * 
FROM candidates2
JOIN jobs  ON candidates2.id = jobs.candidate_id
您的列名不明确,因为您在两个表中都有列id。为了避免这种情况,您需要别名,例如:

SELECT candidates2.id as c_id,  jobs.id as j_id
FROM candidates2
JOIN jobs  ON candidates2.id = jobs.candidate_id

切勿在
FROM
子句中使用逗号。始终使用正确、明确、标准的
JOIN
语法。从
中删除
candidates2,
之后的
。您想将
作业加入
候选项2
。因此,
candidates2
应在
JOIN
之后立即提及,切勿在
FROM
子句中使用逗号。始终使用正确、明确、标准的
JOIN
语法。从
中删除
candidates2,
之后的
。您想将
作业加入
候选项2
。所以
candidates2
应该在
JOIN