读书人

求一sql指令:统计主贴的回帖数量解决

发布时间: 2012-04-13 13:50:24 作者: rapoo

求一sql指令:统计主贴的回帖数量
有数据库表t,字段如下,想更新replies字段的值,如何写sql指令?

C# code
这是原来表的数据:id    replies    zid1    0    02    0    03    0    14    0    15    0    26    0    1这是更新后应该有的结果:id    replies    zid1    3    02    1    03    0    14    0    15    0    26    0    1

若zid=0,说明是主贴
若zid=1,表示该贴是id=1的主贴的回帖

[解决办法]
你定义一个游标也可以实现:

declare @id int
declare cur cursor
for
select id from t where zid=0
open cur
fetch next from cur into @id
while @@Fetch_status = 0
begin
update t set replies=(select count(*) from t where zid =@id) where zid=0 and id=@id
fetch next from cur into @id
end
select * from t
close cur
deallocate cur
[解决办法]
update tb set replies=(select isnull(count(*),0) from Tb a where a.id=id) where zid=0

[解决办法]
探讨
引用:
update tb set replies=(select isnull(count(*),0) from Tb a where a.id=id) where zid=0


经多次变样测试,下面的指令不能得到正确的结果:
update t set replies=(select count(*) from t a where a.zid=id) w……

读书人网 >C#

热点推荐