Select distinct value from row if condition exists
How about a little 2 in 1 using CTE?

;with cte as (
    select top 1 loc = 1
    from parts 
    where Location = 'A1'
)
select distinct Part --, Type, Location
from parts left join cte on 1=1
where loc is null or Location = 'A1';