我有一个像这样的表(度):
dID dmID dlID d11
540 1 1 44
541 1 2 55
542 1 3 66
545 2 1 56
546 2 2 76
547 2 3 87
550 3 1 55
551 3 2 78
552 3 3 87
555 4 1 22
556 4 2 22
557 4 3 78
我想找到每个dmID有多少d11 <50 所以我用:
SELECT COUNT(*) FROM degrees
WHERE degrees.[d11]<50
GROUP BY degrees.dmID
结果如下:
COUNT(*)
1
2
我的问题:如何将这些值更新到名为midTable.Result的midTable.[mid] = degrees.[dmID]
所在的另一个表列?
这是midTable结构:
mID Result
1 null
2 null
3 null
答案 0 :(得分:1)
一种方法是使用相关子查询:
update midTable
set Results = (select count(*)
from degrees d
where d.dmid = midTable.mid and d.d11 < 50
);
注意:这会将不匹配的值设置为0
,这可能是查询的意图。