我正在尝试在MYSQL中运行查询以返回正确的Instructor_ID
但由于某种原因它返回两个值并且instructor_ID
应该2
不是1
。
我有一个 PK 的Person_ID
,它是 FK 的Instructor_ID
。以前我使用了为 Instructor_ID 1 工作的组。请检查图像。
任何帮助表示赞赏。
使用表格设计进行编辑:
你能分享一下表格的结构吗?
我猜你在这个 Betsy 的 Instructor 中有 2 条记录。您可以通过运行查询来检查这一点
select * from instructor where f_name = 'Betsy'
顺便说一句,您应该为两个表指定连接条件
from instructor i inner join people p on p.person_id = i.person_id
另外,您不应该像这样使用 group by,请查看手册。在这种情况下,您需要不同。
你想选择什么?我的意思是,说真的,问题是什么?
你需要加入这两个表......Instructor
和People
。
您的查询将是:
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
没有必要。