首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-04-13 
求一sql指令:统计主贴的回帖数量有数据库表t,字段如下,想更新replies字段的值,如何写sql指令?C# code这是

求一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……

热点排行