Mysql 连接返回空值?

Mysql 连接返回空值?,mysql,sql,database,database-design,Mysql,Sql,Database,Database Design,有人能解释为什么我的代码返回的前四条记录之外的所有记录都是空值吗? 我的教师表只有4条记录,所以我认为我的联接语法不正确。 对不起,我还没有完全清醒过来 USE Assignment GO CREATE VIEW PupilsAges AS SELECT Pupil_ID,PupilDetails.FName, PupilDetails.LName, PupilDetails.DOB, DATEDIFF(year, GETDATE(),PupilDetails.DOB) AS "PupilAge

有人能解释为什么我的代码返回的前四条记录之外的所有记录都是空值吗? 我的教师表只有4条记录,所以我认为我的联接语法不正确。 对不起,我还没有完全清醒过来

USE Assignment
GO
CREATE VIEW PupilsAges AS
SELECT Pupil_ID,PupilDetails.FName,
PupilDetails.LName, PupilDetails.DOB,
DATEDIFF(year, GETDATE(),PupilDetails.DOB) AS "PupilAge",
Instrument,
(Teachers.FName+' '+Teachers.LName) AS Teacher
FROM Teachers JOIN  PupilDetails
ON  Teachers.ID = PupilDetails.Pupil_ID

您的加入
Teachers.ID=PupilDetails.pullow\u ID

这似乎是问题所在,您尚未列出表的架构,但请尝试类似的操作:

USE Assignment
GO
CREATE VIEW PupilsAges AS
SELECT Pupil_ID,PupilDetails.FName,
PupilDetails.LName, PupilDetails.DOB,
DATEDIFF(year, GETDATE(),PupilDetails.DOB) AS "PupilAge",
Instrument,
(Teachers.FName+' '+Teachers.LName) AS Teacher
FROM Teachers JOIN  PupilDetails
ON  Teachers.ID = PupilDetails.Teacher_ID

您的加入
Teachers.ID=PupilDetails.pullow\u ID

这似乎是问题所在,您尚未列出表的架构,但请尝试类似的操作:

USE Assignment
GO
CREATE VIEW PupilsAges AS
SELECT Pupil_ID,PupilDetails.FName,
PupilDetails.LName, PupilDetails.DOB,
DATEDIFF(year, GETDATE(),PupilDetails.DOB) AS "PupilAge",
Instrument,
(Teachers.FName+' '+Teachers.LName) AS Teacher
FROM Teachers JOIN  PupilDetails
ON  Teachers.ID = PupilDetails.Teacher_ID

您希望连接到一个字段,该字段将两个表之间的数据关联起来。在tea中,id字段应标识教师。在pupilDetails中,瞳孔id标识瞳孔。如果存在教师id字段,您希望加入该字段


根据您当前的查询,您只有4名教师,因此,一旦您通过前4名学生,它就不知道将学生5+加入到谁的队伍中。当你在适当的领域加入时,老师应该重复

您希望连接到一个字段,该字段将两个表之间的数据关联起来。在tea中,id字段应标识教师。在pupilDetails中,瞳孔id标识瞳孔。如果存在教师id字段,您希望加入该字段


根据您当前的查询,您只有4名教师,因此,一旦您通过前4名学生,它就不知道将学生5+加入到谁的队伍中。当你在适当的领域加入时,老师应该重复

根据查询的tje连接条件,看起来学生也可以是教师,反之亦然。对吗?如果没有,那么它认为您需要加入teachers.id和pupildetails.teacherid。请下次包括表结构的DDL语句,以便我们能够帮助您做出更可靠的回答。此外,在创建视图、测试和调试使事情复杂化之前,只需根据查询的tje连接条件选择组件,看起来学生也可以是教师,反之亦然。对吗?如果没有,那么它认为您需要加入teachers.id和pupildetails.teacherid。请下次包括表结构的DDL语句,以便我们能够帮助您做出更可靠的回答。在创建视图使事情复杂化之前,只需测试和调试选择组件