这个循环里面的循环该怎么写?

ykxiaolv 2005-10-18 08:09:07
MSSQL数据库内容表格名称(aaa)列(A、B、C、D、E、)
A B C D E(列名)
1 A A 1 1
1 A A 2 2
1 A A 3 3
2 B B 1 1
2 B B 2 2

要显示成这样的表格
1 A A 6 6(SQL前3列相同取任意一值,后2列取和)(第一行)
1 A A 1 1(第一行的明细第一行)(第二行)
1 A A 2 2(第一行的明细第二行)(第三行)
1 A A 3 3(第一行的明细第三行)(第四行)
2 B B 3 3(SQL前3列相同取任意一值,后2列取和)(第五行)
2 B B 1 1(第五行的明细第一行)(第六行)
2 B B 2 2(第五行的明细第二行)(第七行)



ASP该怎么写?


ASP文件代码

<%(连接数据库文件略)
dim sql,sql1
dim rs,rst1
sql="Select * from (select A,Min(B) as B,Min(C) as C,sum(D) as D,sum(E) as E, from aaa group By A) A order by A desc "
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1

sql1="?"
Set rs1= Server.CreateObject("ADODB.Recordset")
rs1.open sql1,conn,1,1%>

<%do while NOT rst.EOF%>

<%=rs("A")%><%=rs("B")%><%=rs("C")%><%=rs("D")%><%=rs("E")%>

<%?%>

<%rs.MoveNext
loop
rs.close
%>

去掉两个问号ASP 表格显示是这样

1 A A 6 6(SQL前3列相同取任意一值,后2列取和)(第一行)
2 B B 3 3(SQL前3列相同取任意一值,后2列取和)(第二行)

问题时这两个问号的内容怎么写?


...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesky1314520 2005-10-19
  • 打赏
  • 举报
回复
用个循环的嵌套
<%(连接数据库文件略)
dim sql,sql1
dim rs,rst1
sql="Select * from (select A,Min(B) as B,Min(C) as C,sum(D) as D,sum(E) as E, from aaa group By A) A order by A desc "
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1

Set rs1= Server.CreateObject("ADODB.Recordset")
%>

<%do while NOT rst.EOF%>

<%=rs("A")%><%=rs("B")%><%=rs("C")%><%=rs("D")%><%=rs("E")%>

<%
sql1="select * from aaa where a=" & rs("A")
rs1.open sql,conn,3,1
for i=1 to rs1.recordcount
if not rs1.eof then
%>
<%=rs1("A")%><%=rs1("B")%><%=rs1("C")%><%=rs1("D")%><%=rs1("E")%>
<%
rs1.movenext
end if
next
%>

<%rs.MoveNext
loop
rs.close
%>
ykxiaolv 2005-10-19
  • 打赏
  • 举报
回复
谢谢xxgu(无业游民) 测试不行

我需要显示表的类型,上面的表达不清楚。

MSSQL数据库内容表格名称(aaa)列(A、B、C、D、E、)
A B C D E(列名)

1 A A C 1
1 A A D 2
1 A A E 3
2 B B F 1
2 B B G 2

要显示成这样的表格
1 A A C 6(前3列相同取任意一值,D列也显示任一值或忽略,E列求和)(第一行)
—————(分割线)
1 A A C 1(第一行的明细第一行)(第二行)
1 A A D 2(第一行的明细第二行)(第三行)
1 A A E 3(第一行的明细第三行)(第四行)
—————(分割线)
2 B B F 3(前3列相同取任意一值,D列也显示任一值或忽略,E列求和)(第五行)
—————(分割线)
2 B B F 1(第五行的明细第一行)(第六行)
2 B B G 2(第五行的明细第二行)(第七行)
—————(分割线)

ASP文件代码

<%(连接数据库文件略)
dim sql,sql1
dim rs,rst1
sql="Select * from (select A,Min(B) as B,Min(C) as C,sum(D) as D,sum(E) as E, from aaa group By A) A order by A desc "
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1

sql1="?"
Set rs1= Server.CreateObject("ADODB.Recordset")
rs1.open sql1,conn,1,1%>

<%do while NOT rst.EOF%>

<%=rs("A")%><%=rs("B")%><%=rs("C")%><%=rs("D")%><%=rs("E")%>
—————(分割线)
<%?%>
—————(分割线)
<%rs.MoveNext
loop
rs.close
%>
xxgu 2005-10-19
  • 打赏
  • 举报
回复
sql1="select * from aaa order by A desc"

第二个问号那
<%if rs1("A")=rs("A") then%>
<%=rs1("A")%><%=rs1("B")%><%=rs1("C")%><%=rs1("D")%><%=rs1("E")%>
<%rs1.movenext
end if%>
ykxiaolv 2005-10-19
  • 打赏
  • 举报
回复
谢谢。我想用ASP来循环改怎么写?
dh20156 2005-10-18
  • 打赏
  • 举报
回复
Select * From (
Select [a],[b],[c],SUM([d]) AS [ds],SUM([e]) AS [es] From [Table] Group by [a],[b],[c]
Union all
Select [a],[b],[c],[d] AS [ds],[e] AS [es] From [Table]) t Order by [t.a] asc,[t.ds] desc

结果可能是:
1 A A 6 6
1 A A 3 3
1 A A 2 2
1 A A 1 1
2 B B 3 3
2 B B 2 2
2 B B 1 1
ykxiaolv 2005-10-18
  • 打赏
  • 举报
回复
更 正"问题时这两个问号的内容怎么写? "
应该是"问题是这两个问号的内容怎么写? "

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧