Uma opção seria usar
UNION ALL com EXISTS :SELECT *
FROM proxies
WHERE A='B'
UNION ALL
SELECT *
FROM proxies
WHERE A='C' AND NOT EXISTS (
SELECT 1
FROM proxies
WHERE A='B'
)
Isso retornará linhas dos
proxies tabela onde A='B' se existem. No entanto, se eles não existirem, ele procurará essas linhas com A='C' .