当前位置: 代码迷 >> Sybase >> SYBABE关联更新有关问题
  详细解决方案

SYBABE关联更新有关问题

热度:1552   发布时间:2013-02-26 00:00:00.0
SYBABE关联更新问题
有表A:
AUTOID COUNTSUM
1
2
3
 表B:
AUTOID ...
1 ...
1 ...
2 ...
3 ...

表A中的AUTOID和表B中的AUTOID是相等的,现在要把表B中的每个AUTOID的行数更新到表A的COUNTSUM中,在MS SQL中可以这么写,UPDATE A SET COUNTSUM=T.COUNTSUN FROM (SELECT AUTOID,COUNT(*) AS COUNTSUM FROM B GROUP BY AUTOID) AS T。但是SYBASE不能这么写,该怎么写呢?


------解决方案--------------------------------------------------------
sybase版本

update a from a inner join
(SELECT AUTOID,COUNT(*) AS COUNTSUM FROM B GROUP BY AUTOID) AS T
on a.AUTOID=t.AUTOID set 
a.COUNTSUM=T.COUNTSUm
------解决方案--------------------------------------------------------
updatet a 
set COUNTSUM=(select count(*) from b where AUTOID=a.AUTOID)
  相关解决方案