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'
.