EDIT: answer modified for updated question
NOTE: request not tested
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
old answer
You can use a group to achieve this.
select tag, product from mytable where tag in (101,102) group by tag, product
it is also possible using various, but you look into it. I cannot remember if different things are possible in several columns. I think this will work too ...
select distinct tag, product from mytable where tag in (101,102)
source share