2010-05-21 2 views
1

사용자 ID 열 uid 두 개의 별도 테이블이 있습니다. 하나의 테이블에서 모든 사용자로부터 가치를 취하여 다른 테이블의 올바른 사용자에 대한 올바른 행에 삽입하려고합니다.사용 방법 Insert .. select에서 조건부 변수 사용

INSERT INTO users2 (picture) 
    SELECT pv.value 
    FROM profile_values as pv, users2 as u 
    WHERE pv.uid = u.uid 
    AND pv.fid = 31 
    AND users2.uid=u.uid; 

select 문 안에 users2.uid에 대한 액세스 권한이 없기 때문에 작동하지 않습니다.

어떻게하면됩니까?

답변

3

u 별칭 (users2)에 액세스 할 수 있어야합니다. INSERT이기 때문에 users2에 직접 액세스 할 수 없으므로 행이 실제로 존재하지 않습니다. insert 또는 update을 원하십니까?

+0

하하 ... 업데이트해야합니다. 내 혼란을 멈추게 해줘서 고마워. – JeroenEijkhof

+0

로 대체 됨 'UPDATE users2, profile_values ​​ SET users2.picture = profile_values.value WHERE profile_values.uid = users2.uid AND profile_values.fid = 31; – JeroenEijkhof