2014-02-18 209 views
-4
UPDATE student 
     INNER JOIN 
    fee_head2 ON (student.new_old = fee_head2.new_old) 
     INNER JOIN 
    fee_head2 ON (student.class = fee_head2.class) 
SET 
    student.head1_apr = fee_head2.head1_apr 

这是显示#1066 - 非唯一表/别名:'fee_head2'。需要更正mysql查询

任何人都可以纠正这个查询对我吗?

+1

尝试使用表的别名 –

+0

我新,你可以请建议 – alleged

+0

但重申一个内部联接......这就是问题所在! – 2014-02-18 11:17:38

回答

2

无需再加入同一个表,试试这个:

UPDATE student INNER JOIN fee_head2 
ON (student.new_old = fee_head2.new_old) 
AND (student.class = fee_head2.class) 
SET student.head1_apr = fee_head2.head1_apr 
0

阿齐兹打我明显naswer。

UPDATE student SET student.head1_apr = 
CASE 
    WHEN student.new_old = fee_head2.new_old AND student.class = fee_head2.class THEN fee_head2.head1_apr 
    ELSE NULL 
END