首页 > 解决方案 > 我在 sql 中使用(加入)时出现一些错误

问题描述

我试图在我的 sql 中使用 join on 来链接三个表,但仍然有错误

在此处输入图像描述

当我试图检索时:(Aminah 的讲师和主题)我这样做了,但仍然有错误

 SELECT c.SUBJECT1,c.SUBJECT2,c.SUBJECT3,l.NAME
FROM
  STUDENT s 
  JOIN COURSE c
   ON c.COURSE = s.COURES
   JOIN LECTURER l
   ON l.LECT_ID =c.LECT1 AND c.LECT2 AND c.LECT3 
WHERE s.NAME = 'Aminah' AND c.SUBJECT1 = c.LECT1 AND c.SUBJECT2 = c.LECT2 AND c.SUBJECT3 = c.LECT3 

当我试图展示时也是同样的事情:(Ahmad 教授的主题)我是一个初学者,我仍然很难使用(加入)我希望有人能帮助我

标签: sql

解决方案


我认为您想要多个联接,如下所示:

select c.subject1, c.subject2, c.subject3,
       l1.name as name_1, l2.name as name_2, l2.name as name_2
from student s join
     course c
     on s.course = c.course left join
     lecturer l1
     on c.lect_1 = l1.lect_id left join
     lecturer l2
     on c.lect_2 = l2.lect_id left join
     lecturer l3
     on c.lect_3 = l3.lect_id
where s.name = 'Aminah';

您还应该知道这是一个非常糟糕的数据模型。每当您有跨列分布的“数组”(例如课程)时,这都是可疑的。这些实际上应该在单独的行中以更适合 SQL。


推荐阅读