Oracle
 sql >> Base de données >  >> RDS >> Oracle

Requête de base de données pour rechercher à l'aide de l'adresse

La vie serait plus facile si tous vos termes étaient triés par ordre croissant.

Je suppose que votre application réelle utilise une variable plutôt qu'une chaîne codée en dur. La solution devrait donc ressembler à ceci :

  select city, postcode, name
  from dealers
  where name = p_search_term OR
        postcode = p_search_term OR
        city = p_search_term
  ORDER BY case when postcode = p_search_term then p_search_term else 1 end desc
           , case when name = p_search_term then p_search_term else city end asc