2016-01-06 144 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)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 –

相关问题