表为A字段为 a1,a2,a3,a4
求 A表中当 a1字段 >0 的 所有 a3的行数。把条件写在 查询语句里,而不是条件里。
在sql中是用 CASE WHEN THEN
在Access中请问是用什么?请写出具体语句。。可以用IIF  决不吝啬分。

解决方案 »

  1.   

    select count(*)
    from a
    where a1>0?
      

  2.   

    写出来了,结不了贴。select a3,sum(iif(a1>0,1,0)) as count1 from A
      

  3.   

    GX啊
    就是这个
    select a3,sum(iif(a1>0,1,0)) as count1 from A
      

  4.   

    select a3,sum(iif(a1>0,1,0)) as count1 from A
      

  5.   

    IIf 函数
    适用于: Microsoft Office Access 2007
    返回两部分之一,具体取决于表达式 (表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、操作字符或测试数据。)的计算结果。
    在任何可以使用表达式的地方都可以使用 IIf。您可以使用 IIf 确定另一个表达式是 True 还是 False。如果该表达式为 True,则 IIf 返回某一个值;如果为 False,则 IIf 返回另一个值。您可以指定 IIf 返回的值。请参阅一些示例
    语法
    IIf(expr, truepart, falsepart)IIf 函数的语法包含以下参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):参数 说明 
    expr 必选。要计算的表达式。 
    truepart 必选。expr 为 True 时返回的值或表达式。 
    falsepart 必选。expr 为 False 时返回的值或表达式。 注解尽管 IIf 只返回 truepart 和 falsepart 中的一个,但始终会对这两部分进行计算。因此,应当注意是否出现无谓的副作用。例如,如果计算 falsepart 时导致除数为零错误,那么即使 expr 为 True,也会产生错误。
      

  6.   

    恭喜!
    应该加个group by a3