有没有办法从其他两列提供带有连接值的列,如果值已经存在则添加一个int?

问题描述 投票:0回答:1

我想创建一个triger函数来为列提供一个值,该值由两个具有预定值的其他列的串联生成。如果值alredy存在,我会在concatanation中添加一个int。

EX:

column1 -> 'aaa' 
column2 -> 'bbb' 

concated value -> 'aaabbb'

如果已经存在值为'aaabbb'和'aaabbb1'的行,则在值 - >'aaabbb3'中添加一个int。

所有三列都是类型文本。

我想像sql会是这样的:

UPDATE formulario.formulario_projetos SET repid = concat(distrito, tipo_ep, SELECT COUNT(repid));

sql postgresql
1个回答
0
投票

更新声明

 UPDATE formulario.formulario_projetos
     SET repid = case when  repid = concat(distrito, tipo_ep) then concat(distrito, tipo_ep) + convert(nvarchar(10), (select count(repid) from  tbl where repid LIKE CONCAT(repid, '%'))) else concat(distrito, tipo_ep) end
© www.soinside.com 2019 - 2024. All rights reserved.