2011-12-15 5 views
0

나는 fullInfo 테이블과 fundInfo 테이블이 있습니다. fullInfo은 비영리 단체의 기부금 데이터입니다. fundInfo은 ID 번호가있는 고유 한 펀드 하위 그룹 목록입니다. 존재하는 열 fundId에 fundInfo의 펀드 ID 번호를 fullInfo에 삽입하려하지만 현재 NULL 값이 있습니다. MySQL의 업데이트 열

fullInfo

:

id   funddesc   amount  fundId 
002   GENERAL   25.00   NULL 
044   MAINT    50.00   NULL 
122   TRAVEL   75.00   NULL 
...   ...    ...   ... 

fundInfo :

이 코드가 작동하지 않는
id   funddesc 
01   MAINT 
02   TRAVEL 
03   GENERAL 
...   ... 

update fullInfo 
set fullInfo.fundId = fundInfo.id 
where fullInfo.funddesc = fundInfo.funddesc; 

. 어떤 제안?

답변

2
UPDATE fullInfo 
    INNER JOIN fundInfo 
     ON fullInfo.funddesc = fundInfo.funddesc 
    SET fullInfo.fundId = fundInfo.id; 
+0

이 제공되는 두 가지 스타일을 비교하는 것은 흥미로운 일이다. 나는 내가 제안한 스타일 (분명히)을 선호하지만 이것은 나에게 어떤 테이블이 업데이트되고 있는지를 명확하게 보여주기 때문이다. 다중 조인이있는 경우 FROM 아래에서 내부 조인 ... on ... 구문을 사용하지만 그렇게하면 주 UPDATE 테이블 절과 별도로 유지됩니다. –

+0

그게 다 했어, 고마워! – screechOwl

3
update fullInfo 
set fullInfo.fundId = fundInfo.id 
from 
fundInfo 
where fullInfo.funddesc = fundInfo.funddesc;