SQL将列添加到一起

时间:2016-10-14 17:24:17

标签: sql postgresql add calculated-columns

我有一个7k记录的PostgreSQL表。每条记录有3个唯一ID和3个字段。托儿所,医院,医院。有所有整数字段。我想添加一个新列并计算每行的受体(学校,儿童保育,医院)的总量。我认为这应该是非常直接的添加一个列并使用选择进行插入但我没有得到我想要的结果

alter table site add total integer;

insert into site(total) select sum(schools+childcares+hospitals) as s from site;

我还在插入选择语句中尝试了一个id组

1 个答案:

答案 0 :(得分:1)

您正在寻找Update而不是Insert

Update site 
 set total = COALESCE(schools,0)+COALESCE(childcares,0)+COALESCE(hospitals,0)

添加了COALESCE来处理NULL值。

例如:

1 + 2 + NULL = NULL所以要将NULL替换为0,我使用了COALESCE

现在它将是1 + 2 + 0(NULL) = 3