On Fri, 26 Jan 2007, Kohler, Andy wrote: > Ken Irwin asked: >> I wonder if it's possible to use LIKE with >> the results of a subquery, eg.: >> SELECT * FROM table WHERE ip [NOT LIKE ANYTHING IN] (SELECT >> ip_range FROM known_ips) where [NOT LIKE ANYTHING IN] is >> probably some different wording. > > In general, you'd do this like (hah): > > SELECT * > FROM table t > WHERE NOT EXISTS > ( SELECT * > FROM known_ips > WHERE ip = t.ip > ) > I think what's Ken is asking for though is there some combination of the IN operator and LIKE operator. He's trying to exclude a set of patterns, ie converting (ip NOT LIKE "127.%" OR ip NOT LIKE "143.123.%"). Off the top of my head I can't think of anything like that (which isn't to say much), but if by some stroke of luck you filter based on a certain part of the address you could do a substring function. (You'd have to check MySQL manual for the exact syntax)... Ie SELECT * FROM iptables WHERE substring(iptables,1,7) NOT IN (127.475,...) Jon Gorman