一个学校中原则上规定,1个学生要修完10个教科,原则上1个教科要有10个评价,那么对于一个学生就应该做成10×10,100条数据。但是有的学生休不到10个教科,有的教科也没有10个评价,那样不存在的就补足“”,反正要做成1对100这样的结构。
假设我通过几张表连接生成了以下A表:

解决方案 »

  1.   

    又是笛卡尔积 LEFT JOIN
      

  2.   

    把10个教科和10个评价 full join,再去left join A表
      

  3.   

    A表:
    学校CD  学生CD   教科CD   评价CD
    001     100       1       1
    001     100       1       2
    001     100       2       1
    001     100       2       2
    001     200       1       1
    001     200       1       2
    怎样不用循环插入的方法,生成下表(200条)(教科CD 和评价CD 补空就可以了,1个学生对应100条)
    学校CD  学生CD   教科CD   评价CD
    001     100       1       1
    001     100       1       2
    ·
    ·
    001     100       1       10
    001     100       2       1
    001     100       2       2
    ·
    ·
    001     100       10       10
    001     200       1       1
    001     200       1       2
    ·
    ·
    001     200       10       10
      

  4.   

    我还有一张10×10的教科评价表可以和A结合
    表B 
     教科CD 评价CD
       1     1
       1     2
    ·
    ·
       10    1
       10    2
    ·
    ·
       10    10