Sql server 查找详细记录的数量并更新主表的计数列
我的项目使用SQL Server 2014。我有两个表(主表和明细表关系),如下所示: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是主记录拥有的详细记录数。我可
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)
这太聪明了!非常感谢。