У меня есть большая таблица, для которой я хочу создать несколько таблиц на основе данных большой таблицы, но я не хочу менять большую таблицу.
рассмотрим схему большой таблицы:
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
note: ... нотация означает, что запрос такой же, как запрос Student с изменением имени таблицы.