mysql - 如何解决 MySQL 中列名不明确的错误?

标签 mysql sql mysql-error-1052

<分区>

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

关于mysql - 如何解决 MySQL 中列名不明确的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6681475/

相关文章:

java - 在哪里查找我的程序中第 331 行更新数据库语句中的错误

sql - 匹配 SQL/BigQuery 中相同索引的数组元素

SQL 与 noSQL(速度)

php - 检索结果时如何解决不明确的列名?

sql - INSERT INTO..SELECT..ON DUPLICATE KEYS 不明确的 ID

sql - MySQL 需要帮助构建查询 : join multiple tables into single row

php - 通过从数据库读取自动创建新盒子

php - 在 mySQL 中构造 php 数据

sql - 按字母数字排序

mysql - 如何在 SQL 查询中获取分组 COUNT 的总和