EDIT:Resposta modificada para pergunta atualizada
NOTA:consulta não testada
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
resposta antiga
você pode usar group by para conseguir isso.
select tag, product from mytable where tag in (101,102) group by tag, product
isso também pode ser possível usando o distinct, mas você deve dar uma olhada nisso. eu não consigo lembrar se distinto é possível em várias colunas. Acho que isso vai funcionar também...
select distinct tag, product from mytable where tag in (101,102)