我无法为自己的MYSQL任务之一创建视图。我了解如何从技术上创建视图,如创建命令的方法一样。 (我已经为该作业完成了其他一些不同的视图)我的问题是如何设计这个特定的视图...我不知道该如何利用我所拥有的知识/设计表的方式。

因此,我有2个相关表格(还有2个相关表格,但我认为这个问题不需要它们):出勤率和学者。我需要创建一个视图,列出所有学者以及他们被邀请演讲的日期。但是,如果他们从来都不是特邀发言人,则日期应显示为空值。因此,我需要从“学者”中选择“名字和姓氏”,并从“出勤”中选择“约会”。出勤有AttendanceType列,可以是邀请发言人或主席。出席者还具有与LastName有关的外键LName,并且显然具有ADate。我无法从概念上考虑必须执行此操作,我认为使用联接(我经验不足)将是正确的选择,但它不起作用...

这是我尝试过的

CREATE VIEW InvitedScholars
AS SELECT FirstName,LastName,ADate
FROM Scholar LEFT JOIN Attendance ON AttendanceType='Invited Speaker'
WHERE Lname=LastName;


这只给了我特邀演讲者,而不是所有学者。我不知道该如何进步……任何建议将不胜感激。

最佳答案

您需要在姓氏上进行左联接(假设这是两个表上的键)。请参见下面的SQL:

CREATE VIEW InvitedScholars
AS SELECT FirstName,LastName,ADate
FROM Scholar LEFT JOIN Attendance ON Scholar.LastName = Attendance.LName
AND Attendance.AttendanceType = 'Invited Speaker';

10-08 03:17