>>>>>The variable _tally indicates if SQL Select found any records. However, if the SQL Select has SUM() function _tally returns value of 1, even though there were no records matching WHERE.
>>>>>
>>>>>What do you recommend to use, instead of _tally, to check if SQL Select found records?
>>>>>
>>>>>Thank you.
>>>>
>>>>Add one column, count(1) as nTally.
>>>
>>>I will think about this, although, this may slow the query (maybe not significantly though). I found a solution, I think. The resulting value of SUM() function has NULL if no records match the WHERE clause.
>>
>>This is not true.
>>
>
>Can you please explain what you mean by "not true"?
>
>Thank you.
because SUM() doesn't count records match the WHERE clause:
CREATE CURSOR test (item I NULL DEFAULT NULL)
APPEND BLANK
SELECT SUM(ITEM) AS SUM;
, COUNT(*) AS MATCH_COUNT;
, COUNT(ITEM) AS NOT_NULL_ITEM;
FROM TEST WHERE .T.