回 帖 发 新 帖 刷新版面

主题:如何相加相同字段?

和用sum相加数字差不多.

字符如何相加呢?

比如我有一个表AAA,下面有个字段111,111有录入的三个值张三,李四,王五
类似:
table.aaa{
111
1.张三
2.李四
3.王五
}

如何相加这三行的字符的值,得出结果xxx的值为张三李四王五

回复列表 (共5个回复)

沙发

使用一个循环就可以了
for ……
str=str&rs("111")
next
response.write str

板凳

只讲算法:
程序连接数据库表之后,可以用Mrc.recordcount来获取满足条件的数据记录共有多少条.例如有i条记录.(Mrc为一个数据记录集变量,即ADODB.Recordset)
那么如你所说的字段111中一共有i个值,要得到字符相加的结果,就是把这i个值全部连接起来,方法就是用循环实现.循环的次数就是i次.循环每执行一次,别忘了要是数据记录的游标移动到下一个记录.就是Mrc.movenext
另外,需要给一个变量来存在连接后的结果.例如这个变量是str,初始的时候应该把它赋值为一个空字符 str=""
循环中的存放值的表达式为
str=str & Mrc("111")
字符连接一般用&符号,当然用+也可以。
最后的结果就存放在str中。

3 楼

如果让某些字段在一个循环中只出现一次,即只如果字段相同只循环一次,如何做到呢?

4 楼

那你可以从SQL语句上入手,比如表A中有字段pname,而pname中有不少相同的数据,为了把相同数据去掉,可以用
select pname from A group by pname
当然还有个去掉重复记录的SQL语句关键字,想不起来.....
这样查询得到数据集记录后,再做循环,就不会有重复的记录出来.

5 楼

[quote]那你可以从SQL语句上入手,比如表A中有字段pname,而pname中有不少相同的数据,为了把相同数据去掉,可以用
select pname from A group by pname
当然还有个去掉重复记录的SQL语句关键字,想不起来.....
这样查询得到数据集记录后,再做循环,就不会有重复的记录出来.[/quote]
关键字distinct

我来回复

您尚未登录,请登录后再回复。点此登录或注册