Possible Duplicate:
1052: Column 'id' in field list is ambiguous
我有两个表,我想通过sb_id
连接表(sb_id
对于两个表是相同的)。所以,我使用了这样的查询:
SELECT Name,
class
FROM student_info,
student_class
WHERE id = 1
AND student_info.sb_id = student_class.sb_id;
它显示错误:
1052: 'id' in where clause is ambiguous
另一件事,我想通过使用“JOIN”只显示一个结果。
这意味着两个表都有 id
并且您需要在它前面加上它所在的表(如果两者相同,则两者都可以)。
SELECT
name,
class
FROM student_info, student_class
WHERE
student_info.id=1
AND student_info.sb_id=student_class.sb_id;
这将返回单个结果,如您所愿,只要恰好有一条记录为 student_info.id=1
。和一个 student_class
记录匹配 sb_id
.结果与使用 INNER JOIN
相同— 换句话说,两条记录都必须存在并且连接在一起。
对应INNER JOIN
语法如下所示:
SELECT
name,
class,
FROM student_info
INNER JOIN student_class ON student_info.sb_id = student_class.sb_id
WHERE student_info.id = 1