有表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)