MySQL查询返回错误的ID

时间:2013-11-06 20:22:44

标签: mysql sql

我正在尝试在 MYSQL 中运行查询以返回正确的Instructor_ID,但由于某种原因,它返回两个值,而instructor_ID应为{{1}不是2

我有1的PK,Person_ID为FK。以前我使用的是用于Instructor_ID 1的组。请检查图像。

感谢任何帮助。

enter image description here

使用表格设计进行编辑:

enter image description here

2 个答案:

答案 0 :(得分:0)

请问你能分享桌子的结构吗?

我猜你在这个Betsy的教练中有2条记录。 您可以通过运行查询来检查这一点

select * from instructor where f_name = 'Betsy'

顺便说一下,你应该为两个表指定连接条件

from instructor i inner join people p on p.person_id = i.person_id

此外,您不应该像这样使用group by,请查看手册。在这种情况下你需要与众不同。

您想选择什么?我的意思是,真的,问题是什么?

答案 1 :(得分:0)

您需要加入两个表格... InstructorPeople

您的查询将是:

select  Instructor_ID, f_name, l_name, Person_ID
from    Instructor, People 
where   Instructor.Instructor_ID = Person.Person_ID and 
        f_name = "Betsy" 

select  Instructor_ID, f_name, l_name, Person_ID
from    Instructor
        join People 
          on Instructor.Instructor_ID = Person.Person_ID
where   f_name = "Betsy" 

group by不是必需的。