EDITAR:Respuesta modificada para pregunta actualizada
NOTA:consulta no probada
SELECT GROUP_CONCAT(lot ORDER BY lot ASC SEPARATOR ',')
from mytable
having count(*) = 2
and GROUP_CONCAT(tag ORDER BY tag ASC SEPARATOR ' ') = '101 102'
group by product
respuesta antigua
puede usar group by para lograr esto.
select tag, product from mytable where tag in (101,102) group by tag, product
esto también puede ser posible usando distinto, pero debe echarle un vistazo. No recuerdo si es posible distinguir en varias columnas. Creo que esto también funcionará...
select distinct tag, product from mytable where tag in (101,102)