>>But they are not. It seems I had it backwards. It works as long as there is an ORDER BY. With no ORDER BY, the numbers are wild.
>>
>>I ran the query with no grouping to see if I could tell what was happening. What is happening is that without the ORDER BY, this phrase:
>>
>>
>> WHERE b.control_no in ;
>> (SELECT towfky FROM redeem WHERE redeem.dredeemdat>= {01/01/2014} AND redeem.dredeemdat<= {12/31/2014}) ;
>>
>>
>>
>>is responding true and including records where redeem.dredeemdat is empty!
>
>Of course it will include these records.
>You check IF b.control_no in some values between some dates, BUT what happens
>if some b.control_no IS in that list but have empty date?
>It will be included in the result.
Actually, I just realized. We should have checked the towKy - what if this key is NULL? Then it will explain the problem.
If it's not broken, fix it until it is.
My Blog