主题:如何相加相同字段?
sjeboy
[专家分:0] 发布于 2007-06-18 18:18:00
和用sum相加数字差不多.
字符如何相加呢?
比如我有一个表AAA,下面有个字段111,111有录入的三个值张三,李四,王五
类似:
table.aaa{
111
1.张三
2.李四
3.王五
}
如何相加这三行的字符的值,得出结果xxx的值为张三李四王五
回复列表 (共5个回复)
沙发
wangsdong [专家分:21390] 发布于 2007-06-18 18:34:00
使用一个循环就可以了
for ……
str=str&rs("111")
next
response.write str
板凳
神之左手 [专家分:390] 发布于 2007-06-18 22:38:00
只讲算法:
程序连接数据库表之后,可以用Mrc.recordcount来获取满足条件的数据记录共有多少条.例如有i条记录.(Mrc为一个数据记录集变量,即ADODB.Recordset)
那么如你所说的字段111中一共有i个值,要得到字符相加的结果,就是把这i个值全部连接起来,方法就是用循环实现.循环的次数就是i次.循环每执行一次,别忘了要是数据记录的游标移动到下一个记录.就是Mrc.movenext
另外,需要给一个变量来存在连接后的结果.例如这个变量是str,初始的时候应该把它赋值为一个空字符 str=""
循环中的存放值的表达式为
str=str & Mrc("111")
字符连接一般用&符号,当然用+也可以。
最后的结果就存放在str中。
3 楼
sjeboy [专家分:0] 发布于 2007-06-19 10:51:00
如果让某些字段在一个循环中只出现一次,即只如果字段相同只循环一次,如何做到呢?
4 楼
神之左手 [专家分:390] 发布于 2007-06-20 15:03:00
那你可以从SQL语句上入手,比如表A中有字段pname,而pname中有不少相同的数据,为了把相同数据去掉,可以用
select pname from A group by pname
当然还有个去掉重复记录的SQL语句关键字,想不起来.....
这样查询得到数据集记录后,再做循环,就不会有重复的记录出来.
5 楼
longlong16 [专家分:10670] 发布于 2007-06-21 11:05:00
[quote]那你可以从SQL语句上入手,比如表A中有字段pname,而pname中有不少相同的数据,为了把相同数据去掉,可以用
select pname from A group by pname
当然还有个去掉重复记录的SQL语句关键字,想不起来.....
这样查询得到数据集记录后,再做循环,就不会有重复的记录出来.[/quote]
关键字distinct
我来回复