update select count 将一个表统计结果更新到另个一表中

时间:2021-03-19 15:36:53
有两个表
一个为客户表(一个客户只有一个记录表),一个表为客户的出入记录表,(一个客户有多个记录,也可能没有记录)
怎么将客户的出入记录表中的记录数统计后更新到客户表的记录总数字段,能不能一条语句实现?

update guest set records=(select count(*) from guestRecord where gid='1') where gid='1'

好象不行哦,什么原因。。。。。

谢谢。。。。。

5 个解决方案

#1


在线等啊,马上结贴

#2


有两个表 
一个为客户表(一个客户只有一个记录表),一个表为客户的出入记录表,(一个客户有多个记录,也可能没有记录) 
怎么将客户的出入记录表中的记录数统计后更新到客户表的记录总数字段,能不能一条语句实现? 

update guest set records=(select count(*) from guestRecord where gid='1') where gid='1' 

好象不行哦,什么原因。。。。。 

谢谢。。。。。

------------------------------------------
update guest set records = (select count(gid) from guestRecord where gid = guest.gid)

#3


原来是这么回事,3Q

#4


update a set records=(select count(*) from guestRecord where gid=a.gid) from guest as a

#5


update a
set records=isnull((select count(*) from guestRecord where gid = a.gid) ,0)
from guest a
where gid='1' 

#1


在线等啊,马上结贴

#2


有两个表 
一个为客户表(一个客户只有一个记录表),一个表为客户的出入记录表,(一个客户有多个记录,也可能没有记录) 
怎么将客户的出入记录表中的记录数统计后更新到客户表的记录总数字段,能不能一条语句实现? 

update guest set records=(select count(*) from guestRecord where gid='1') where gid='1' 

好象不行哦,什么原因。。。。。 

谢谢。。。。。

------------------------------------------
update guest set records = (select count(gid) from guestRecord where gid = guest.gid)

#3


原来是这么回事,3Q

#4


update a set records=(select count(*) from guestRecord where gid=a.gid) from guest as a

#5


update a
set records=isnull((select count(*) from guestRecord where gid = a.gid) ,0)
from guest a
where gid='1'