SELECT *
FROM `table`
WHERE 1
AND FIND_IN_SET('1', `field`) > 0
AND FIND_IN_SET('2', `field`) = 0
SELECT *
FROM `table`
WHERE (
(`field` LIKE '1,%' OR `field` LIKE '%,1,%' OR `field` LIKE '%,1') AND
(`field` NOT LIKE '2,%' AND `field` NOT LIKE '%,2,%' AND `field` NOT LIKE '%,2')
)