2014-03-29 65 views
1

我有兩種類似的情況。從字段B中的匹配ID在FieldA中插入值

1)我有一個ID |名稱| ParentID表。我想添加一個字段ParentNaame,然後在表中查詢一步,然後使用ParentID查找記錄並將其存儲在ParentName字段中。

1 | Manhattan | 2 
2 | New York | 3 
3 | United States | 

變得

1 | Manhattan | 2 | New York 
2 | New York | 3 | United States 

2)以外的ID /父名稱同樣的事情來自一個第二表

任何想法理解。

+0

你知道'join'是什麼嗎?如果您嘗試過任何SQL,請將其添加到問題中。 –

+0

只是順帶一提,隨着我的需要學習mysql,加入了標籤,儘管謝謝。 –

回答

0

你試圖執行更新聯接:

UPDATE my_table a 
JOIN my_table b ON a.parent_id = b.id 
SET a.parent_name = b.name 

,如果你想從不同的表採取的parent_name值相同的原理也適用 - 只是用它在join代替。

+0

謝謝,很好的技術知道。 –

+0

運行後,看起來好像我遇到了如果兩個或更多記錄具有相同ParentID都沒有更新的情況。有沒有解決的辦法? –

+0

如果我沒有弄錯,當在同一個表上運行時,如果帶有ParentID的記錄具有較高的ID,則ParentID ID記錄不會更新。有沒有辦法「倒退」呢? –

相關問題