我正在创建一个关系数据库,我目前有 2 个表(Staff
和Student
)
员工看起来像这样
员工编号 | 班级 | 没收手机总数 |
---|---|---|
1 | S201 | 1 |
2 | S202 | 0 |
3 | S203 | 1 |
学生长这样
学生卡 | 电话_型号 |
---|---|
1 | iPhone7 |
2 | 三星 |
我创建了另一个名为Phones
我正在尝试将这些特定记录从两个表中插入:StudentID
and StaffID
, Class
, and Phone_Models
, 到新表中Phones
。但是,如果员工的>= 1 ,它应该只Staff
根据条件从表中插入记录。TotalPhonesConfiscated
我已经尝试过,但这没有提供正确的表格:
INSERT INTO Phones ( StudentID,
StaffID,
Phone_Model,
Class
)
SELECT StudentID,
StaffID,
Phone_Model,
Class
FROM Student, Staff
WHERE TotalPhonesConfiscated >= 1;
我不知道如何插入记录,所以看起来每个人都与每个人StaffID
匹配StudentID
,它似乎适用于Student
记录但不适用于Staff
记录。理论上我想要的应该是这样的:
学生卡 | 员工编号 | 电话_型号 | 班级 |
---|---|---|---|
1 | 1 | iPhone7 | S201 |
2 | 3 | iPhone11 | S203 |
我的 SQL 语句中是否缺少某些内容?
Staff
您缺少和之间的关系Student
。您需要StaffID int
在Student
表中有一列。然后你可以插入数据:
将导致: