2015-12-28 55 views
0

我有一个表(度)是这样的:如何查找记录数量并更新另一个表格?

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  

我想找到多少D11 < 50每DMID 所以我用:

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 

回答

1

的一种方法是使用一个相关子查询:

update midTable 
    set Results = (select count(*) 
        from degrees d 
        where d.dmid = midTable.mid and d.d11 < 50 
       ); 

注意:这将设置不匹配的值,以0,这大概是打算查询。

相关问题