读书人

SYBABE关联更新有关问题

发布时间: 2012-03-18 13:55:39 作者: rapoo

SYBABE关联更新问题
有表A:
AUTOIDCOUNTSUM
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)

读书人网 >Sybase

热点推荐