Un'opzione potrebbe essere quella di utilizzare UNION ALL con 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'
)
Questo restituirà le righe dai proxies tabella dove A='B' se esistono. Tuttavia, se non esistono, cercherà quelle righe con A='C' .