求一sql指令:统计主贴的回帖数量解决方法
求一sql指令:统计主贴的回帖数量
有数据库表t,字段如下,想更新replies字段的值,如何写sql指令?
若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
------解决方案--------------------
有数据库表t,字段如下,想更新replies字段的值,如何写sql指令?
- C# code
这是原来表的数据: id replies zid 1 0 0 2 0 0 3 0 1 4 0 1 5 0 2 6 0 1 这是更新后应该有的结果: id replies zid 1 3 0 2 1 0 3 0 1 4 0 1 5 0 2 6 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
------解决方案--------------------