求sql语句,将楼层数计算出来并写入数据库,更新以往的数据

2025-03-25 05:45:05
推荐回答(3个)
回答1:

我习惯用pb,这种问题我会编一个小程序,里面设置2个datawindow
dw_1是select distinct parent from reply 目的是搜索所有有回复的主题编号
dw_2是select * from reply where parent =:条件编号 order by replyid
目的是用回复id大小顺序显示指定id的所有回复
在程序中循环dw_1,分别查询对应的回复信息,然后再用一个循环赋值顺序号,最后更新reply 表,并用最大顺序号回写到topic表对应字段

纯粹用SQL语句的方法没用过,全当是给你个思路吧,asp虽然没有这么方便,但是写个小程序也能应付了。

回答2:

写个升级程序就可以了,升级时运行时间是会长一点,但也没那么严重,你的记录有多少呢?6位数?况且让它运行一次就可以了。
另外,感觉你这两个表里的rootid字段好像没什么用?

回答3:

update topic
set floor=(select count(1) from reply where parentid=topicid)
这个来更新topic表

update a
from reply a, reply b
set a.floor=(select count(1)+1 from b where b.parentid=a.parentid and b.replyid这个来更新reply表

您试试看