如何在表中找到具有ID但我需要按名称查找的元素?

问题描述 投票:0回答:2

我试图解决这个问题,但如果我认为我不知道StaffID,我怎样才能得到关于讲师的信息?

我尝试用两种方法解决问题,一种假设我不知道StaffID,另一种假设我知道StaffID

这是一个问题:列出讲师Musa教授的所有课程的详细注册记录。

例如,如果我们知道StaffID

SELECT StaffID, Reg.NO, MatricNO, Code, Kulliyyah, Venue, Time, Day
FROM registration
WHERE StaffID = 401 

或者,假设我们不了解StaffID

SELECT StaffID, Lecturer
FROM Lecturer
WHERE Lecturer = Musa 
UNION 
            SELECT StaffID
 FROM registration
WHERE registration .StuffID = Lecturer. StaffID
sql union
2个回答
1
投票

你可能想要的是加入(不是联盟)。

Lecturer既是表名又是列名,这似乎很奇怪。也错字StuffID

已添加别名,如R和L,以缩短资格。在讲师的名字周围添加了引号。

SELECT R.StaffID, Reg.NO, MatricNO, Code, Kulliyyah, Venue, Time, Day 
FROM registration as R
LEFT JOIN Lecturer as L
ON R.StaffID = L.StaffID
Where L.Lecturer = 'Musa'

0
投票

这是一个基本的JOIN查询:

SELECT r.*
FROM registration r JOIN
     Lecturer L
     ON r.StaffID = l.StaffID
WHERE l.Lecturer = 'Musa';
© www.soinside.com 2019 - 2024. All rights reserved.