Derek Kalweit wrote:
>> For some reason, the nCount field below gets defined as a character
>> field. !?!?!!?!?????????
>>
>> SELECT t1.iid, t1.cTown, IFNULL(COUNT(p1.iid),0) as
>> nCount, IFNULL(SUM(p1.nAmount),0) as nSum
>> FROM towns t1
>> LEFT JOIN accounts a1
>> ON a1.itownid = t1.iid
>> LEFT JOIN payment_header p1
>> ON p1.iacctid = a1.iid AND p1.dDate =
>> '<<lcDate>>' AND p1.iCount = 1
>> WHERE t1.iCompID = <<this.iCompID>>
>> GROUP BY 1,2
>
> My guess, is that MySQL is trying to determine the field type when it
> first parses the SQL statement. It must not understand COUNT() because
> it's an aggregate function, and therefore assumes a character return
> as a lowest common denominator.
It's easy to determine if that is the case. Just try :
SELECT t1.iid, t1.cTown, 1.00 * IFNULL(COUNT(p1.iid),0) as
nCount, 1.00 * IFNULL(SUM(p1.nAmount),0) as nSum
FROM towns t1
LEFT JOIN accounts a1
ON a1.itownid = t1.iid
LEFT JOIN payment_header p1
ON p1.iacctid = a1.iid
AND p1.dDate = '<<lcDate>>'
AND p1.iCount = 1
WHERE t1.iCompID = <<this.iCompID>>
GROUP BY 1,2
>
> Are you sure you need IFNULL() in this SQL statement? Usually SQL
> aggregate functions automatically disregard NULL values...
>
>
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[EMAIL PROTECTED]
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.