Discuz!NT

注册

 

QQ登录

只需一步,快速开始

发新话题 回复该主题

【禁回此贴】数据转换FAQ--不断增加中 [复制链接]

11#

板块列表中 统计 主题数 ,帖子数 为为负数

板块列表中 统计 主题数 ,帖子数 为为负数的情况  请运行下面的sql 语句,
这里只考虑的 一个分表的情况, 如果有多个分表 请自行修改代码
  1. DECLARE @fid int

  2. DECLARE tables_cursor CURSOR FOR SELECT [fid] FROM [dnt_forums]

  3. OPEN tables_cursor

  4. FETCH NEXT FROM tables_cursor INTO @fid

  5. WHILE @@FETCH_STATUS = 0

  6. BEGIN



  7. DECLARE @tcount INT

  8. DECLARE @pcount INT

  9. SELECT @tcount = (SELECT COUNT(*) FROM dnt_topics WHERE fid=@fid)

  10. SELECT @pcount = (SELECT COUNT(*) FROM [dnt_posts1] WHERE fid=@fid) --在此只对一个分表进行操作 ,如果有多个分表请自己修改代码



  11. UPDATE [dnt_forums] SET [topics]=@tcount ,[posts]=@pcount WHERE fid=@fid

  12. FETCH NEXT FROM tables_cursor INTO @fid

  13. END

  14. CLOSE tables_cursor

  15. DEALLOCATE tables_cursor

复制代码
TOP
12#

这个代码不能完全解决问题

按照你的代码试了,板块的帖子数是对了,但是分类的帖子数就错了。请看图:




“通用有限元分析”  “金属成型” 等都属于“论坛分类”,“通用有限元分析”分类包含“ANSYS“,“ABAQUS“等板块,所以分类的主题数和总贴数都错了。

这样的结果那敢升级阿?幸亏我是在测试数据库中测试的。
TOP
13#
TOP
14#
TOP
15#

好东西
TOP
16#

该用户帖子内容已被屏蔽
TOP
17#
TOP
发新话题 回复该主题
站长