postgresql中的sql计数

hm2xizp9  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(203)

我在qgis中有名为transformer、service drop wire和consumer的层,它连接到我的数据库pgadmin 4,我使用的是postgresql。这些表有一个类似的列称为dtcode(例如4344-d2),而表transformer有一个列称为connected。我想做的是,每次我想用相同的dtcode将一个服务分线和用户连接到转换器时,我都希望transformer中连接的列计数(例如,连接的列中的最后一个数据是14,当我将另一个服务分线和用户连接到转换器时,连接的列将变为15)。
我在服务dropwire下创建了一个函数和触发器,我的查询是这样的,

create function con()
returns trigger as
$BODY$
begin

update transformer t
set connected = (select count (dtcode) from consumer c where c.dtcode = t.dtcode);

return new;
end;
$BODY$
Language plpgsql;

create trigger con
after insert on sdw
for each row 
execute procedure con();

我想知道代码有什么问题,特别是在这部分,

update transformer t
set connected = (select count (dtcode) from consumer c where c.dtcode = t.dtcode);

因为每次我使用这个代码,输出都不对。它计算在内,但只有当我连接第二个服务下降线和消费者,它不会计算在第一个服务下降线和消费者,我连接到变压器(

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题