Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Salve salve...
Estou com um problema minha query é a seguinte:
SELECT
L.*,
C.*,
ts_rank(L.ts_address, my_query) + ts_rank(L.ts_telefone, my_query)*2 + ts_rank(L.ts_title, my_query)*3 AS rank
FROM
listings L,
cidade C,
to_tsquery('palavra|para|busca') AS my_query
WHERE
L.aprovado = 1
AND L.publicado = 1
AND L.region = 'UF'
AND L.region = C.id_uf
AND L.city = C.id_cidade
AND L.ts_title || L.ts_adress || L.ts_telefone @@ my_query
ORDER BY
L.destaque DESC,
L.filial ASC,
L.title ASC,
rank DESC,
L.lid DESC
;
Mas não quero exibir os registros que possuam L.phone igual nem L.title igual mantendo o atual ORDER BY.
Tentei da seguinte maneira mas não deu certo:
SELECT
DISTINCT ON (L.phone, L.title)
L.*,
C.*,
ts_rank(L.ts_address, my_query) + ts_rank(L.ts_telefone, my_query)*2 + ts_rank(L.ts_title, my_query)*3 AS rank
FROM
listings L,
cidade C,
to_tsquery('palavra|para|busca') AS my_query
WHERE
L.aprovado = 1
AND L.publicado = 1
AND L.region = 'UF'
AND L.region = C.id_uf
AND L.city = C.id_cidade
AND L.ts_title || L.ts_adress || L.ts_telefone @@ my_query
ORDER BY
L.destaque DESC,
L.filial ASC,
L.title ASC,
rank DESC,
L.lid DESC
;
sendo que o postgre acusa o seguinte erro.
ERRO: expressões SELECT DISTINCT ON devem corresponder com expressões iniciais do ORDER BY
******** Erro ********
ERRO: expressões SELECT DISTINCT ON devem corresponder com expressões iniciais do ORDER BY
SQL state: 42P10
Carregando comentários...