【发布时间】:2014-08-07 11:00:24
【问题描述】:
下面是两张表:
类
academic_year_id student_id standard
2 1 10
2 2 10
2 3 10
2 4 10
2 5 10
2 6 10
2 7 11 Science
2 8 11 Science
这里的标准不是INT
学生
student_id roll_no name teacher_approval
1 0 S Sumeet G 1
2 0 Nair Nikhil R 1
3 0 Nayak Ankita R 0
4 0 Rathod Ketan P 0
5 0 Patel Vishal D 1
6 0 Patel Jignesh R 0
7 0 Prajapati Bhavesh A 1
8 0 Shah Harsh N 1
我想做什么:
当老师选择标准 -> 10 并按下按钮“分配卷号”
我希望所有 10 级标准的学生按姓名不按顺序获得卷,并且由老师批准,即teacher_approval = '1'
所以我的学生表如下:
学生
student_id roll_no name teacher_approval
1 3 S Sumeet G 1
2 1 Nair Nikhil R 1
3 0 Nayak Ankita R 0
4 0 Rathod Ketan P 0
5 2 Patel Vishal D 1
6 0 Patel Jignesh R 0
7 0 Prajapati Bhavesh A 1
8 0 Shah Harsh N 1
到目前为止,我已经尝试过以下代码:
$standard = $_POST['standard']
SET @incr = 0
UPDATE
student AS st
JOIN
( SELECT * FROM
classes AS classes
WHERE standard = '".$standard."'
) AS tmp
ON tmp.student_id = st.id
SET
st.roll_no = @incr:=@incr+1
WHERE st.teacher_approval = '1'
ORDER BY st.name ASC
但它给了我一个错误:update and order by 的使用不正确
有类似经历的人吗?任何帮助,将不胜感激。谢谢。
【问题讨论】: