根据同一表中另一列的条件更新列

时间:2018-07-11 07:48:02

标签: sql postgresql

首先让我承认这可能不是最好的工程,但是我有以下问题/问题。

我想向“ gc_stand”列添加值。我有将'gc_stand'连接到'startnummer'的数据(例如(5,145)(78,2)(125,98)等)。

因此,我的问题是如何基于gc_standstartnummer之间的连接而无需手动输入值(大约200个值)来更新'gc_stand'列。我以相同的方式(插入而不是更新)插入了前两列(startnummerrit_uitslag)的数据。

我在考虑类似的东西

update etappe_4
    set gc_stand = ??
where startnummer = 'startnummer'

但是我应该在哪里输入连接的值?

我通过以下方式插入了值:

INSERT INTO etappe_1 (startnummer, rit_uitslag)
    VALUES (1,5), (2,145), (3,32) etc etc

现在我要添加列(gc_stand)。插入是不可能的,因为它将创建新行。因此,所以我想我必须使用UPDATE。但是如何?

1 个答案:

答案 0 :(得分:0)

要弄清楚您要追求的目标有点困难,但是我认为您正在寻找类似的东西:

update etappe_4
    set gc_stand = etappe_1.rit_uitslag
from etappe_1 
  where etappe_1.startnummer = etappe_4.startnummer

请注意,只有startnummer在两个表中都是唯一的,这才能正常工作。