2012-11-20 58 views
0

我有一個顯示畫廊細節的表格,每個條目都有一個Gallery_ID,其中一個字段是gallery_parent,如果該記錄沒有父項,則該值爲0,然後是其父項的數量(如果是)。用相關值替換值

ID| Name  | parent 
1 | gallery A | 0 
2 | gallery B | 0 
3 | gallery C | 0 
4 | gallery D | 1 
5 | gallery E | 2 

如何將父庫庫號替換爲父庫庫名?

+0

您是否正在嘗試更改數據庫的模式?或者你只是想看每個畫廊的父母名稱? – slashingweapon

+0

你想做什麼? 'UPDATE'或'SELECT'? –

回答

1

需要兩個使用LEFT JOIN

SELECT a.ID, 
     a.Name, 
     b.Name as ParentName    //-- you can apply COALESCE here 
FROM tableName a 
     LEFT JOIN tableName b 
      ON a.parent = b.id 
+0

我認爲他需要替換而不是選擇 –

+0

@ErdinçÇorbacı我在想它,*但我也認爲他只想選擇*,因爲如果數字除非他想先更改模式,否則無法使用varchar更新該字段。 –

+1

哈亞也打我吧。刪除我的答案,因爲上面應該讓你找到你想要的。 –

0

以上回答瞭如何選擇數據,如果你想更新,並加入表本身如果父項是varchar,則可以執行以下操作

UPDATE gal t1 
LEFT JOIN gal t2 ON t1.parent=t2.ID 
SET t1.parent = t2.name