In the MySQL reference, it warns against using HAVING for items that "should" be in a WHERE clause. I'm not sure what items "should" be in a WHERE clause.
My exact problem is I want to select some records that have a dotted IP address as one of the fields. And I want to filter out the multicast addresses, which are the addresses that begin with the numbers in the range of 224. thru 239. This does it:
SELECT * FROM Client WHERE left(inetAdr,instr(inetAdr,"."))< 224 OR left(inetAdr,instr(inetAdr,".")) > 239
and this works as well:
SELECT *,left(inetAdr,instr(inetAdr,".")) as ia FROM Client HAVING ia < 224 OR ia > 239
and it is a little cleaner, although as I'm going to be doing this in a PHP script, cleanliness isn't all that important.
So I guess I have 2 questions:
1] Which should I use? 2] Is this the easiest way to check for the multicast address?
-- Jonathan Arnold (mailto:[EMAIL PROTECTED]) Amazing Developments http://www.buddydog.org
It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so. Mark Twain
--------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php