2010-05-21 48 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