2016-01-06 203 views
1

如何從一個表中的列中插入一行塊並將該塊插入另一個表中的某個位置?見截圖將一行中的行從一個表中插入到另一個表中

enter image description here

所以,我需要做的是插入來自aktie2在「aktier」丟失的數據塊。表格之間的「基準」列必須完全匹配。那麼 - 是否有可能一次做到這一點(沒有循環)?

我想複製 「aktie」 -column(表aktie2)到aktie2列(表aktier)

+0

會是什麼表的樣子之後 – Strawberry

+0

@Strawberry - 在「aktier」將其所有的價值,現在缺少列aktie2。 – java

回答

2

您可以通過update join查詢中使用這樣的

update aktier 
join aktie2 on aktie2.id = aktier.uid 
set aktier.aktie2 = concat (aktier.aktie2, aktie2.aktie) 
+0

非常感謝,但它應該在語法改爲** ... aktie2.datum = aktier.datum **(不是id)的「datum」上相匹配 – java

+0

@java在我看來,使用鍵「id」是要走到這裏的方法,因爲日期可能不是唯一的ID值。 –

1

看到你的截圖,它看起來像你正在尋找一個UPDATE,不是INSERT:

update aktier 
set aktie2 = (select aktie from aktie2 where aktie2.datum = aktier.datum) 
where aktie2 is null; 
0

在你之情況concat功能它是一個更新的情況下不插入做到這一點。

URPDATE aktier 
    SET aktie2 = (SELECT aktie FROM aktie2 where aktie2.id = aktier.id) 
    where aktie2 is null; 
+0

儘管此代碼片段可能會解決問題,但[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 –

相關問題