>>>Hi,
>>>
>>>I am trying to count unique values in the field (using SQL Select) if the value is greater than 0
>>>
>>>So, here is syntax I use (simplified) (which generates an error):
>>>
>>>select count( case when mytable.myfield = 0 then 0 else distinct( mytable.myfield ) end ) as TotCount
>>>
>>>
>>>What is wrong in the above syntax?
>>
>>I am not aware of that syntax in SQL. It might work but I've never used it. With what I know, I would use this:
>>
>>
SELECT DISTINCT mytable.myfield FROM mytable WHERE mytable.myField != 0 INTO CURSOR tmp1
>>? _TALLY
>
>First, thank you for your message. You see, my entire SQL Select need to include the records where mytable.myfield is 0. But I only want to count those that are not 0. Therefore, I cannot use your syntax.
SELECT ?? what you need, SUM(IIF(myfield = 0, 0, 1)) as TotCount...GROUP BY ?? 1