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