Digamos que estou pesquisando em três colunas de texto. Eu não quero apenas resultados que correspondam a uma determinada palavra ou frase, mas também quero pesá-los ( column A > column B > column C
) - ordenando assim os resultados de forma que as linhas que correspondem à palavra na coluna A
apareçam mais altas do que as correspondentes na coluna B
, e aquelas correspondentes na coluna B
aparecerão mais altos do que os correspondentes na coluna C
.
Isso é possível? Você pode me fornecer alguma terminologia ou sugestões para leitura adicional?
A pesquisa de texto completo possui mecanismos de ponderação detalhados.
Para correspondência de padrão simples:
Eu não uso
col_a ILIKE '%keyword%' DESC
, porque isso classificaria as colunas NULL primeiro. Queremos tratarNULL
exatamente comoFALSE
, o que é obtido dessa maneira.Não consigo pensar em nenhuma função específica para ler, mas truques comuns podem funcionar.
algo assim deve funcionar:
As instruções de caso também precisam estar na lista de seleção.
uma alternativa: