Asp统计不同表不同字段的总数代码

阿三阿四一起来 2017-12-01 04:38:15
如何使用ASP统计不同表不同字段的数据?

比如:

表1 中 字段1=False
表2 中 字段2=true
表3 中 字段3=2

需要统计以上这些字段的总和,然后又能统计这些字段相加的总数

示例如:
字段1=False 目前共有0条数据
字段2=true 目前共有1条数据
字段3=2 目前共有2条数据
字段1、字段2、字段3 总共有3条数据

我是想用以下这种方式,可以方便所有页面的调用,但是SQL不懂得怎么写:
<%
Set rs=Server.CreateObject("ADODB.recordset")
sql="select...................."
set rs=conn.execute(sql)
调用名1=rs("统计值1")
调用名2=rs("统计值2")
................
rs.close
set rs=nothing
%>

然后可以随便调用:
字段1总数为:<%=调用名1%>
字段2总数为:<%=调用名2%>
.....................
以上字段总和:<%=调用总和名%>

请问SQL如何写才能实现这样的形式。搜索过很多,只是统计两个表相同字段的数值相加的,没有和我所说这样的,CSDN的大枷们讨论下这种方式代码如何写,谢谢!
...全文
596 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
<% Set rs1=Server.CreateObject("ADODB.recordset") Sql="Select * from 表1 where 字段1=false" rs1.open sql,conn,1,1 调用名称1=rs1.recordcount rs1.close set rs1=nothing Set rs2=Server.CreateObject("ADODB.recordset") sql="select * from 表2 where 字段2=true" rs2.open sql,conn,1,1 调用名称2=rs2.recordcount rs2.close set rs2=nothing Set rs3=Server.CreateObject("ADODB.recordset") sql="select * from 表3 where 字段3=2" rs3.open sql,conn,1,1 调用名称3=rs3.recordcount rs3.close set rs2=nothing '以上是调用单个的总数,下面是用上面所有数值相加得结果: a=array(调用名称1) b=array(调用名称2) c=array(调用名称3) dim n() redim n(ubound(a)) for i=0 to ubound(a) n(i)=a(i)+b(i)+c(i) next 调用总和名称=join(n,",") %> 然后在需要的地方调用是这样的: 表1的总数是:<%=调用名称1%> 表2的总数是:<%=调用名称2%> 表3的总数是:<%=调用名称3%> 以上三个总和是:<%=调用总和名称%> 非常好的方法,又学习了
qq_41267587 2017-12-04
  • 打赏
  • 举报
回复
以上的第一个因为复制代码修改时有错误,因贴子无法编辑,用以下这个是正确的,大至的方法是这样,可以根据自己的需求修改即可。 在页面顶部或<!--#include file="调用页.asp"-->写上以下代码: <% Set rs1=Server.CreateObject("ADODB.recordset") Sql="Select * from 表1 where 字段1=false" rs1.open sql,conn,1,1 调用名称1=rs1.recordcount rs1.close set rs1=nothing Set rs2=Server.CreateObject("ADODB.recordset") sql="select * from 表2 where 字段2=true" rs2.open sql,conn,1,1 调用名称2=rs2.recordcount rs2.close set rs2=nothing Set rs3=Server.CreateObject("ADODB.recordset") sql="select * from 表3 where 字段3=2" rs3.open sql,conn,1,1 调用名称3=rs3.recordcount rs3.close set rs2=nothing '以上是调用单个的总数,下面是用上面所有数值相加得结果: a=array(调用名称1) b=array(调用名称2) c=array(t调用名称3) dim n() redim n(ubound(a)) for i=0 to ubound(a) n(i)=a(i)+b(i)+c(i) next 调用总和名称=join(n,",") %> 然后在需要的地方调用是这样的: 表1的总数是:<%=调用名称1%> 表2的总数是:<%=调用名称2%> 表3的总数是:<%=调用名称3%> 以上三个总和是:<%=调用总和名称%> 温馨提示:以上的“ 调用名称x ”这些为自定义的名称,我写中文是为了让大家看明白一点,但中文调用这些不知道行不行,没测试,但用英文我试过绝对是可以的。 本人也是菜鸟刚起步,希望可以和大家一起互相学习。
qq_41267587 2017-12-04
  • 打赏
  • 举报
回复
我有个傻瓜式方式一起学习下,如果大家还有更好的点子可以列出来大家一起学习!我的做法如下: 在页面顶部或<!--#include file="调用页.asp"-->写上以下代码: <% set Rs1=server.createobject("adodb.recordset") sSql="Select * from 表1 where 字段1=false" Rs1.Open sSql,Conn,1,1 If Not Rs1.Eof Then 调用名称1=oRs.recordcount End If Rs1.Close set oR1=nothing Set rs2=Server.CreateObject("ADODB.recordset") sql="select * from 表2 where 字段2=true" rs2.open sql,conn,1,1 调用名称2=rs2.recordcount rs2.close set rs2=nothing Set rs3=Server.CreateObject("ADODB.recordset") sql="select * from 表3 where 字段3=2" rs3.open sql,conn,1,1 调用名称3=rs3.recordcount rs3.close set rs2=nothing '以上是调用单个的总数,下面是用上面所有数值相加得结果: a=array(调用名称1) b=array(调用名称2) c=array(t调用名称3) dim n() redim n(ubound(a)) for i=0 to ubound(a) n(i)=a(i)+b(i)+c(i) next 调用总和名称=join(n,",") %> 然后在需要的地方调用是这样的: 表1的总数是:<%=调用名称1%> 表2的总数是:<%=调用名称2%> 表3的总数是:<%=调用名称3%> 以上三个总和是:<%=调用总和名称%> 温馨提示:以上的“ 调用名称x ”这些为自定义的名称,我写中文是为了让大家看明白一点,但中文调用这些不知道行不行,没测试,但用英文我试过绝对是可以的。 本人也是菜鸟刚起步,希望可以和大家一起互相学习。
  • 打赏
  • 举报
回复
引用 4 楼 showbo 的回复:
[quote=引用 3 楼 R3R4176 的回复:] [quote=引用 1 楼 showbo 的回复:] 表不同要单独统计,然后union all串起来得到3条记录,总的在asp中用游标获取sql返回记录后自己统计
或者能够统计这些字段的总和也可以[/quote] 那不是union all得到一个表,然后再统计一次就行了

select sum(f1) from (
select count(*) as f1 from 表1 where 字段1=false
union all
select count(*) from 表2 where 字段2=true
union all
select count(*) from 表3 where 字段3=2
)
大概上面这样,没调试,不懂是否正确[/quote] 版主老大,我是菜鸟中的小鸟,你可以将完整的代码写个我参考下吗?这样我也不知道调用怎样写,谢谢了
Go 旅城通票 2017-12-01
  • 打赏
  • 举报
回复
引用 3 楼 R3R4176 的回复:
[quote=引用 1 楼 showbo 的回复:] 表不同要单独统计,然后union all串起来得到3条记录,总的在asp中用游标获取sql返回记录后自己统计
或者能够统计这些字段的总和也可以[/quote] 那不是union all得到一个表,然后再统计一次就行了

select sum(f1) from (
select count(*) as f1 from 表1 where 字段1=false
union all
select count(*) from 表2 where 字段2=true
union all
select count(*) from 表3 where 字段3=2
)
大概上面这样,没调试,不懂是否正确
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
表不同要单独统计,然后union all串起来得到3条记录,总的在asp中用游标获取sql返回记录后自己统计
或者能够统计这些字段的总和也可以
  • 打赏
  • 举报
回复
可以写些例子的代码我参考下吗?
Go 旅城通票 2017-12-01
  • 打赏
  • 举报
回复
表不同要单独统计,然后union all串起来得到3条记录,总的在asp中用游标获取sql返回记录后自己统计

Web开发学习资料推荐
JavaScript apply与call的用法及区别
Web开发

28,391

社区成员

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

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