Зависит от ваших данных наверняка. Если у вас есть данные, подобные приведенным ниже, у вас будет похожая проблема.
#temp
Name CompName
A X
A Y
A Z
#temp1
Name CompName
A X
B X
C A
В этом случае:
select * from #temp where name in (select comp_name from #temp1)
возвращает 3 строки
select * from #temp1 where comp_name in (select name from #temp)
возвращает 1 строку