Jedną z opcji byłoby użycie UNION ALL z 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'
)
To zwróci wiersze z proxies tabela, w której A='B' jeśli istnieją. Jeśli jednak nie istnieją, wyszuka wiersze z A='C' .