atomicnuke, your HAVING COUNT(*)=2 solution is excellent
but there may be a problem
the SELECT clause doesn't match the GROUP BY clause, thus invoking an obscure mysql extension to standard sql, which allows the query to run and return only one row per list.id, with an indeterminate image if there is more than one image
in fact, if a product has two images but is in only one category, then i think the query might return a false positive
wink, is there any way to restrict the selection to a single image? say, the one with the latest date or something?
by the way, those joins should all be INNER JOINs