Dada uma tabela assim:
caminho (ltree) |
---|
abc |
ab |
a |
de |
f |
Como eu escreveria uma consulta para retornar o caminho ltree correspondente mais longo, dada uma entrada?
Por exemplo:
(input) => expected output
(a.b.c) => a.b.c
(d.e.f) => d.e
(f.g.h) => f
(a.b) => a.b
Eu gostaria de poder usar isso para unir uma tabela contendo caminhos ltree em seu "caminho correspondente mais longo" em outra tabela de uma forma que tenha bom desempenho. Então, dada uma tabela contendo linhas de todos os itens inputs
do exemplo acima, como eu a juntaria à tabela para obter linhas com a "correspondência mais longa"?