应收户数=sum(case when t_ChargeItem.ChargeItemCode is null then 0 else 1 end)

解决方案 »

  1.   

    right join会过滤nullSELECT ContractMemberCode,应收户数=isnull((select count(*) from t_ChargeItem where datepart(yyyy,t_ChargeItem.ChargeBeginDate)=2003
     and t_ChargeItem.ContractMemberCode=t_ContractMember.ContractMemberCode),0)
      FROM t_ContractMember 
      

  2.   

    改一下:SELECT t_ContractMember.ContractMemberCode,应收户数=sum(case   when t_ChargeItem.ChargeItemCode null then 0 else    t_ChargeItem.ChargeItemCode end)
      FROM t_ChargeItem right join t_ContractMember 
      on t_ChargeItem.ContractMemberCode=t_ContractMember.ContractMemberCode
      where datepart(yyyy,t_ChargeItem.ChargeBeginDate)=2003
      GROUP BY t_ContractMember.ContractMemberCode
      

  3.   

    爽,多谢 ̄ Rewiah(乘长风) 又学到一招 ̄