2012-07-26 6 views
0

아래의 쿼리를 사용하여 열을 업데이트하지만 업데이트 할 수 없습니다.MySQL 데이터베이스 테이블 열 업데이트 문제

update table1 
set month_0val = (select v1.sumvalue 
from (select r1.reg_id, sum(backbook.bal) as sumvalue 
from table2 backbook , table3 s , table4 r1 
where month(backbook.Date_AsOf) = month(s.MONTH_AS_OF - INTERVAL 12 MONTH) and year(backbook.Date_AsOf) = year(s.MONTH_AS_OF - INTERVAL 12 MONTH) and backbook.a_region_id = r1.region_code 
and r1.org_id = org_id and backbook.A_ProdType_Code != 25 and s.SC_ID = sc_id group by backbook.A_Region_ID) v1 
where v1.reg_id = table1.Region); 

심지어 내부 쿼리가 결과를 반환합니다.

도와주세요.

+0

오류가 있습니까? .. –

+0

아무런 오류가 없습니다 ......... –

+0

자세한 내용은 table1은 메모리 유형이고 다른 것은 Innodb ... –

답변

0
UPDATE table1, ( 
      select r1.reg_id, sum(backbook.bal) as sumvalue 
      from table2 backbook , table3 s , table4 r1 
      where month(backbook.Date_AsOf) = month(s.MONTH_AS_OF - INTERVAL 12 MONTH) 
       and year(backbook.Date_AsOf) = year(s.MONTH_AS_OF - INTERVAL 12 MONTH) 
       and backbook.a_region_id = r1.region_code 
       and r1.org_id = org_id 
       and backbook.A_ProdType_Code != 25 
       and s.SC_ID = sc_id 
      group by backbook.A_Region_ID 
      ) v1 
SET table1.month_0val = v1.sumvalue 
WHERE v1.reg_id = table1.Region;