SQL转换表列到另一个表中

时间:2018-03-15 08:08:34

标签: sql sql-server

有没有办法将表“sris”转换为这3个表{“tbl_student,tbl_records,tbl_subject”},其中“sris”表中的数据将被分发到3个表中以获得该关系

SEE DATABASE DIAGRAM

3 个答案:

答案 0 :(得分:0)

这是什么意思?非常基本的东西。

SELECT tbl_student INTO tbl_student FROM sris
SELECT tbl_records INTO tbl_records FROM sris
SELECT tbl_subject INTO tbl_subject FROM sris

答案 1 :(得分:0)

"Insert into Table1(Table1Column1, Table1Column2, Table1Column3)  Select srisColumn1, srisColumn2, srisColumn3  from sris"

"Insert into Table2(Table2Column1, Table2Column2, Table2Column3)  Select srisColumn4, srisColumn5, srisColumn6  from sris"

"Insert into Table3(Table3Column1, Table3Column2, Table3Column3)  Select srisColumn7, srisColumn8, srisColumn9  from sris"

答案 2 :(得分:0)

考虑到每个目标列的ID都是IDENTITY,我们应该这样做:

INSERT INTO tbl_student (
    code,
    name)
SELECT DISTINCT
    code = S.STUDENT_NUMBER,
    name = S.STUDENT_NAME
FROM
    sris AS S

INSERT INTO tbl_subject (
    code,
    units)
SELECT DISTINCT
    code = S.SUBJECT_CODE,
    units = S.UNITS
FROM
    sris AS S

INSERT INTO tbl_record (
    grade,
    remarks,
    semester,
    sy,
    student_id,
    subject_id)
SELECT
    grade = S.FINAL_GRADE,
    remarks = S.REMARKS,
    semester = S.SEMESTER,
    sy = S.SY,
    student_id = T.ID,
    subject_id = U.ID
FROM
    sris AS S
    INNER JOIN tbl_student AS T ON S.STUDENT_NUMBER = T.Code
    INNER JOIN tbl_subject AS U ON S.SUBJECT_CODE = U.Code
相关问题