如何使用另一个表值将sql语句写入新添加的列?
我有一个名为如何使用另一个表值将sql语句写入新添加的列?,sql,sql-server,Sql,Sql Server,我有一个名为subject的表,并添加了一个新列stdCount 还有另一个名为注册的表格,列有学生id,科目,年份,分数。该表主要记录了每个学生注册的科目 现在,我需要从注册表中获取每个单元的学生人数,并更新主题表的stdCount列 我该怎么做 如果科目表中每个科目有一行,即使该科目在2年以上的时间内提供,并且您希望STDCOUNT显示所有时间内所有年份注册的学生总数: update subject s set stdcount = (select count(*)
subject
的表,并添加了一个新列stdCount
还有另一个名为注册
的表格,列有学生id
,科目
,年份
,分数
。该表主要记录了每个学生注册的科目
现在,我需要从注册
表中获取每个单元的学生人数,并更新主题
表的stdCount
列
我该怎么做 如果科目表中每个科目有一行,即使该科目在2年以上的时间内提供,并且您希望STDCOUNT显示所有时间内所有年份注册的学生总数:
update subject s
set stdcount =
(select count(*)
from enrollments e
where e.subject = s.subject)
如果科目表中每个科目和年份有一行(并且有一个年份列),并且您希望显示每个(科目,年份)组合中注册的学生总数:
update subject s
set stdcount =
(select count(*)
from enrollments e
where e.subject = s.subject
and e.year = s.year)
是否更新该科目每年的平均学生人数?或者某一年该学科的学生人数?这是一个问题的例子,它将从样本数据和预期结果中受益匪浅。不,不需要任何年份说明@BrianDeMilia@Harshana主题表上有哪些列?该表上有年份列吗?@BrianDeMilia需要从单位表的studentCount更新主题表的stdCount列