【发布时间】:2019-05-24 17:31:34
【问题描述】:
我有一个大表,我想根据大表的数据创建一些表,但我不想更改大表。
考虑大表的架构:
Person(id, Fname, Lname, ssn, role)
角色:人的角色可以是:经理、老师和学生。
现在我想要 3 个基于人员角色的小桌子。 老师(id, Fname, Lname, ssn)
学生(id, Fname, Lname, ssn)
经理(id、Fname、Lname、ssn)
我正在寻找如下查询,但我不知道正确的语法。
select *
case
when P.role = 'student' then insert into Student(id, Fname, Lname, ssn) values (P.id, P.Fname, P.Lname, P.ssn)
when P.role = 'teacher' then ...
when P.role = 'manager' then ...
end
from person as P
注意:...表示法表示查询与学生查询相同,但表名有所不同。
【问题讨论】: