日期:2014-05-17  浏览次数:20538 次

sql同时插入多条数据
task表,student表,Grade表(task_id,stu_id)
现在想向grade表中插入task_id,和同一个班的学生stu_id

------解决方案--------------------
表Class 班级表

表Student 学生表

表Task 作业表

表Stu_Task 学生选修作业表

表Grade 成绩表

问题:现在想向grade表中插入task_id,和同一个班的学生stu_id

是否可以理解成,向grade插入某门功课(物理),整个三年二班的成绩。

INSERT INTO grade(Task_ID,Stu_ID,Core)

SELECT Task.ID,Student.ID,Stu_Task.Core FROM Student 

LEFT JOIN Class
ON Student.ClassID = Class.ID --找到了所有3.2班的学生了

LEFT JOIN Stu_Task
ON Student.ID = Stu_Task.Stu.ID

INNER JOIN Task
ON Stu_Task.TaskID = Task.ID


WHERE Class.Name = '三年二班'


------解决方案--------------------
学生表常规操作

http://apps.hi.baidu.com/share/detail/24218443
------解决方案--------------------
INSERT INTO grade(Task_ID,Stu_ID,Core)

SELECT Task.ID,Student.ID,Stu_Task.Core FROM Student

LEFT JOIN Class
ON Student.ClassID = Class.ID --找到了所有3.2班的学生了

LEFT JOIN Stu_Task
ON Student.ID = Stu_Task.Stu.ID

INNER JOIN Task
ON Stu_Task.TaskID = Task.ID


WHERE Class.Name = '三年二班'
AND Task.Name = '物理'