Sql server 查找详细记录的数量并更新主表的计数列

Sql server 查找详细记录的数量并更新主表的计数列,sql-server,Sql Server,我的项目使用SQL Server 2014。我有两个表(主表和明细表关系),如下所示: Master: id detail_count (the number of associated Detail records) Detail: id master_id select m.id, count(*) from Master m join Detail d on d.master_id = m.id group by m.id 列detail\u count是主记录拥有的详细记录数。我可

我的项目使用SQL Server 2014。我有两个表(主表和明细表关系),如下所示:

Master:
id
detail_count (the number of associated Detail records)

Detail:
id
master_id
select m.id, count(*) from Master m
join Detail d on d.master_id = m.id
group by m.id
detail\u count
是主记录拥有的详细记录数。我可以找到每个主记录的计数,如下所示:

Master:
id
detail_count (the number of associated Detail records)

Detail:
id
master_id
select m.id, count(*) from Master m
join Detail d on d.master_id = m.id
group by m.id
我还能够为主表编写update语句:

update Master set detail_count = ?

如何组合上述两条语句来更新所有主记录的详细计数

您只需使用以下查询更新计数即可:

update Master 
set detail_count = (select count(*) from detail where detail.master_id = Master.id)

这太聪明了!非常感谢。