2013-10-14 52 views
0

我试图运行这个查询错误,它保持失败;在from子句中不能使用表。更新多行中的列

update student s1 set tot_cred = (select total_cred from student s inner join taken t on s.id=t.id inner join transfer_course tc on (t.transfer_course_id, t.college_id) = (tc.transfer_course_id, tc.college_id)); 

任何指针赞赏!

感谢

回答

0

试试这个: 我不认为“上”关键字允许多个列进行比较。 如果它确实是消息给我

update student s1 
set tot_cred = (select total_cred 
       from student s 
        inner join taken t 
         on s.id=t.id 
        inner join transfer_course tc 
         on t.transfer_course_id = tc.transfer_course_id 
          and t.college_id = tc.college_id) 
0
update student s1 
set s1.tot_cred = 
    (select total_cred 
    from student s 
    inner join taken t 
    on s.id=t.id 
    inner join transfer_course tc 
    on (t.transfer_course_id = tc.transfer_course_id) 
    AND (t.college_id = tc.college_id) 
);