Probably not the nicest way to do this but it works and does have the advantage that it will work for any version of SQL
select DISTINCT (A) from my_Table
where A in (select A from my_Table where B = 1)
and A in (select A from my_Table where B = 2)
and A in (select A from my_Table where B = 3)
and A not in (select A from my_Table where B not in (1,2,3))
[Edit - made the last criterion a bit more generic]