+ -
当前位置:首页 → 问答吧 → 请教高手一条SQL的写法

请教高手一条SQL的写法

时间:2011-11-25

来源:互联网

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

作者: WelcomeToCSDN   发布时间: 2011-11-25

好吧!问题没叙述完,等!

作者: AcHerat   发布时间: 2011-11-25

又是笛卡尔积 LEFT JOIN

作者: fredrickhu   发布时间: 2011-11-25

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

作者: FlySQL   发布时间: 2011-11-25

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

作者: WelcomeToCSDN   发布时间: 2011-11-25

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

作者: WelcomeToCSDN   发布时间: 2011-11-25

jion

作者: szstephenzhou   发布时间: 2011-11-25