Obrigado Reimer pela dica. Desde já desculpas pela demora em responder. Tive alguns sérios problemas para resolver

Voltando ao assunto, continua dando um erro. Agora o erro é:

ERROR: Attribute "nome_servico" not found

Não sei mais o que fazer, afinal não consegui descobrir qualquer função que pudesse utilizar, para ordenar duas tabelas, campos com caracteres acentuados inclusive.



On 3/31/06, Reimer <[EMAIL PROTECTED]> wrote:
Oi...
 
Tente fazer assim:
 
(SELECT s.id_servico, to_ascii(s.nome_servico,'LATIN1'), s.descricao_resumida, 1 AS tipo

FROM csi_servico s)

UNION

(SELECT up.id_utilidade_publica, to_ascii(up.nome,'LATIN1') as nome_servico, NULL, 2 AS tipo

FROM csi_utilidade_publica up)
ORDER BY 2
 
----- Original Message -----
From: Roni Warken
Sent: Friday, March 31, 2006 4:24 PM
Subject: [PostgreSQL-Brasil] como utilizar to_ascii neste caso

Estou utilizando esta query para buscar dados de duas tabelas diferentes, e ordenando no final:

(SELECT s.id_servico, s.nome_servico, s.descricao_resumida, 1 AS tipo
FROM csi_servico s)

UNION

(SELECT up.id_utilidade_publica, up.nome as nome_servico, NULL, 2 AS tipo
FROM csi_utilidade_publica up)
ORDER BY to_ascii(nome_servico, 'LATIN1')

Por que utilizar to_ascii? Há serviços que iniciam com letras acentuadas, e par tal finalidade é exigido o uso da função (desconheço outra alternativa). Ao utilizá-la, um erro ocorre:

ERROR: ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result columns

Qual é a explicação para este erro?
--
Roni Warken


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br


_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br




--
Roni Warken
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
http://www.postgresql.org.br

Responder a