在 2 个不同的表中选择信息

  • 本文关键字:选择 信息 mysql
  • 更新时间 :
  • 英文 :


我有2个MySQL表。一个包含有关学生的信息,另一个包含有关教师的信息。

为了找到学生或教师 ID 号,我必须根据提供的电子邮件地址进行查找。

但是,我无法知道电子邮件是学生还是教师ID。

如何查询这两个表,以便无论John Doe是教师还是学生,查找johndoe@example.com都会返回 ID 号?

如果有帮助,在学生表中,学生电子邮件位于名为"Person_Email"的列中,ID 位于名为"StudentID"的列中。在教师表中,教师电子邮件位于名为"Teacher_Email"的列中,ID 位于名为"教师 ID"的列中。

如果给定的电子邮件不能同时存在于两个表中,则只需union all两个查询,如下所示:

select StudentID id from student where Person_Email = :email
union all select TeacherID from teacher where Teacher_Email = :email

如果想知道记录来自哪个表,可以在结果集中添加一列:

select StudentID id 'student' tbl from student where Person_Email = :email
union all select TeacherID, 'teacher' from teacher where Teacher_Email = :email

最新更新