请问,asp如何统计某一字段的值,这值不是每行都有记录,用变量方法只要中间空一行记录就不到

来源:百度知道 编辑:UC知道 时间:2024/06/07 19:33:51
SQL语句:SELECT DISTINCT (a.list_out_date), guest_user,list_out_name,list_out_tel,(SELECT SUM(list_Prod_sl) FROM list WHERE list_out_date = a.list_out_date) AS Expr5, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '到付' AND list_out_date = a.list_out_date) AS Expr1, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '预付' AND list_out_date = a.list_out_date) AS Expr2, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '月结' AND list_out_date = a.list_out_date) AS Expr3,(SELECT SUM(list_pay) FROM list WHERE list_out_date = a.list_out_date) AS Expr4 FROM list a where guest_user='"&guest_user&"'

定义变量:a=a+rs8("Expr5")

b=b+rs8("Expr1")

c=c+rs8("Expr2")

d=d+rs8("Expr3")

e=e+rs8("Expr4")

得到变量:
<td align="center" >
<p align="center"><span lang="zh-cn"><%=(a) %>&

问题有两种解决方法,
一种是在ASP中处理
比如:a=a+rs8("Expr5") 改成:
if not isnull(rs8("Expr5")) then a=a+rs8("Expr5")

一种是在SQL语句中处理,SQLSERVER在SQL中使用CASE,ACCESS则使用IIF
具体网上搜索一下CASE或IIF的用法就知道了。

SQL语句:SELECT DISTINCT (a.list_out_date), guest_user,list_out_name,list_out_tel,(SELECT SUM(isnull(list_Prod_sl,0)) FROM list WHERE list_out_date = a.list_out_date) AS Expr5, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '到付' AND list_out_date = a.list_out_date) AS Expr1, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '预付' AND list_out_date = a.list_out_date) AS Expr2, (SELECT SUM(list_pay) FROM list WHERE list_paytype = '月结' AND list_out_date = a.list_out_date) AS Expr3,(SELECT SUM(list_pay) FROM list WHERE list_out_date = a.list_out_date) AS Expr4 FROM list a where guest_user='"&guest_user&"'