2010-05-21 67 views
1

我有两个单独的表都与用户ID列uid。我想从一个表中的所有用户中获取一个值,并将其插入到另一个表中正确用户的正确行中。如何使用插入..选择,从插入条件增值税

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的罚款。直接访问users2是不可能的,因为您的INSERT进入它,所以该行实际上还没有存在。你想要做一个insertupdate

+0

哈哈...我需要更新。感谢您收集我的困惑。 – JeroenEijkhof 2010-05-21 16:45:26

+0

用'UPDATE users2取代,profile_values SET users2.picture = profile_values.value WHERE profile_values.uid = users2.uid AND profile_values.fid = 31;' – JeroenEijkhof 2010-05-21 17:21:09