sql = "select a.卡号,a.姓名,sum(费用) as 消费总额 from 个人信息表 a,消费记录表 b where a.卡号=b.卡号 and 开始时间<=#" + Format(CDate(Combo1.Text + "-" + Combo2.Text + "-31"), "yyyy-mm-dd hh:mm:ss") + "# and 开始时间>=#" + Format(CDate(Combo1.Text + "-" + Combo2.Text + "-1"), "yyyy-mm-dd hh:mm:ss") + "# group by a.卡号 order by a.卡号"Set rs = cn.Execute(sql)
出错:试图执行的查询中不包含作为合计函数一部分的特定表达式’姓名‘。
请问:sql 写错了?还是此类型的sql 不好执行? 谢谢!

解决方案 »

  1.   

    combo1.text类似:2004
    combo2.text类似:3
      

  2.   

    语句写错了, a.姓名 没有使用合计函数或包括在 group by 子句中.
    假如同一个 a.卡号 对应有两个姓名,那么通过上述语句没法表达出来,所以上述语句执行会出错.
    你可以使用嵌套 Select 语句 或在 Group By 中写成 Group By a.卡号,a.姓名
      

  3.   

    把你在程序运行时生成的SQL字符串用即时窗口打印出来看看,在数据库中直接运行查询看看到底出错在何处