asp记录集如何将重复的数据合并
例如:数据库查询到的读出来的数据<tr><td>单据</td><td>产品</td></tr><tr><td>1</td><td>A1</td></tr><tr><td>...
例如:数据库查询到的读出来的数据
<tr><td>单据</td><td>产品</td></tr>
<tr><td>1</td><td>A1</td></tr>
<tr><td>2</td><td>A1</td></tr>
<tr><td>2</td><td>A1</td></tr>
<tr><td>3</td><td>A1</td></tr>
<tr><td>4</td><td>A1</td></tr>
<tr><td>4</td><td>A1</td></tr>
我想得到的数据
<table width="100" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>单据</td>
<td>产品</td>
</tr>
<tr>
<td>1</td>
<td>A1</td>
</tr>
<tr>
<td rowspan="2">2</td>
<td>A1</td>
</tr>
<tr>
<td>A1</td>
</tr>
<tr>
<td>3</td>
<td>A1</td>
</tr>
<tr>
<td rowspan="2">4</td>
<td>A1</td>
</tr>
<tr>
<td>A1</td>
</tr>
</table> 展开
<tr><td>单据</td><td>产品</td></tr>
<tr><td>1</td><td>A1</td></tr>
<tr><td>2</td><td>A1</td></tr>
<tr><td>2</td><td>A1</td></tr>
<tr><td>3</td><td>A1</td></tr>
<tr><td>4</td><td>A1</td></tr>
<tr><td>4</td><td>A1</td></tr>
我想得到的数据
<table width="100" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>单据</td>
<td>产品</td>
</tr>
<tr>
<td>1</td>
<td>A1</td>
</tr>
<tr>
<td rowspan="2">2</td>
<td>A1</td>
</tr>
<tr>
<td>A1</td>
</tr>
<tr>
<td>3</td>
<td>A1</td>
</tr>
<tr>
<td rowspan="2">4</td>
<td>A1</td>
</tr>
<tr>
<td>A1</td>
</tr>
</table> 展开
1个回答
展开全部
这个问题问的好,我试着写了下,没想到还挺绕脑子的
首先,你需要使用group by 或者 order by 把记录按你要判断重复的字段排序,这样便于后面的程序使用。
sql="select * from 表 where 条件 order by 重复字段"
rs.open sql,conn,1,1
rs.movefirst
t=1
mv=rs("重复字段") '这里先取一下第一个记录的值作备用
j=0
ms="<table border=1>"
ms1=""
rs.movefirst
do while not rs.eof
if rs("重复字段")=mv then
t=t+1
ms1=ms1 & "<tr><td>"&rs("其他字段")&"</td></tr>"
else
ms=ms & "<tr><td rowspan='"&t&"'>"&mv&"</td><td>"&mv1&"</td></tr>"
if ms1<>"" then
ms=ms & ms1
end if
mv=rs("重复字段")
mv1=rs("其他字段")
t=1
ms1=""
end if
rs.movenext
loop
ms=ms & "</table>"
response.write ms
以上在本地调试通过,显示正确。如果遇到其他特殊的显示不正确的,请试着自行修改下即可。
首先,你需要使用group by 或者 order by 把记录按你要判断重复的字段排序,这样便于后面的程序使用。
sql="select * from 表 where 条件 order by 重复字段"
rs.open sql,conn,1,1
rs.movefirst
t=1
mv=rs("重复字段") '这里先取一下第一个记录的值作备用
j=0
ms="<table border=1>"
ms1=""
rs.movefirst
do while not rs.eof
if rs("重复字段")=mv then
t=t+1
ms1=ms1 & "<tr><td>"&rs("其他字段")&"</td></tr>"
else
ms=ms & "<tr><td rowspan='"&t&"'>"&mv&"</td><td>"&mv1&"</td></tr>"
if ms1<>"" then
ms=ms & ms1
end if
mv=rs("重复字段")
mv1=rs("其他字段")
t=1
ms1=""
end if
rs.movenext
loop
ms=ms & "</table>"
response.write ms
以上在本地调试通过,显示正确。如果遇到其他特殊的显示不正确的,请试着自行修改下即可。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询