我在具有这些列的数据库中有此表
学生
student_id INT
student_name VARCHAR
class_name VARCHAR
我想将表格转换为两个表格
student_transformed
student_key
student_id
student_name
类已转换
class_key
class_name
我的问题是在类表上进行转换:
要插入新记录:
select *
from student s
left
join class_transformed c
on s.class_name = c.class_name
但是,如果在学生表中更新了class_name,它将是一条新的行记录。换句话说,无法区分插入和更新。
我的问题是,如何进行转换并使插入和更新工作?请注意,我们没有class_id。
答案 0 :(得分:0)
我认为您需要另一个表:
Student_to_Class
Student_key
Class_key
那么这将起作用
select *
from student s
left join Student_to_Class s2c
on s.student_key = s2c.student_key
left join class_transformed c
on s2c.class_key= c.class_key