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 -----
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

Responder a