SELECT name FROM vendor WHERE bom_item.vendor_key = ( SELECT vendor_key FROM mfg_vendor_relationship WHERE bom_item.mfg_key = mfg_key AND prefered = TRUE AND bom_item.project_key = project_key )
-- Angular momentum makes the world go ‘round.
You might get away with adding
group by vendor_key
if it turns out you’re simply getting many copies of vendor key from that inner select.