[firebase-br] Data type unknown (Em um select utilizando UNION)

Samuel Duarte Matos samuelmatos em cprinformatica.com.br
Sex Ago 24 16:26:03 -03 2007


Usa cast em todos os campos
Todos precisam ser do mesmo tipo e tamanho (no caso de char/varchar)


"HPensador" <hpensador em gmail.com> escreveu na 
mensagem news:fan98k$6h7$1 em sea.gmane.org...
Boa tarde Colegas!

Quando tento executar a consulta abaixo recebo a msg de erro - Data
type unknown.

Obs: todos os campos envolvidos são do tipo Varchar();

select (div.cod_secretaria) as master_field,
       ('00') as detail_field,
       sec.nome
from divisao div
  join secretaria sec on (sec.cod_secretaria = div.cod_secretaria)
union
select (div.cod_secretaria || div.cod_departamento) as master_field,
       (div.cod_secretaria) as detail_field,
       dep.nome
from divisao div
  join departamento dep on (dep.cod_secretaria = div.cod_secretaria
                            and dep.cod_departamento =
div.cod_departamento)
union
select (div.cod_secretaria || div.cod_departamento || div.cod_divisao)
as master_field,
       (div.cod_secretaria || div.cod_departamento) as detail_field,
       div.nome
from divisao div
order by 1, 2, 3

Porém se executo o mesmo fazendo um CAST dos dados, funciona
normalmente. vide abaixo:

select cast(div.cod_secretaria as integer) as master_field,
       cast(null as integer) as detail_field,
       sec.nome
from divisao div
  join secretaria sec on (sec.cod_secretaria = div.cod_secretaria)
union
select cast(div.cod_secretaria || div.cod_departamento as integer) as
master_field,
       cast(div.cod_secretaria as integer) as detail_field,
       dep.nome
from divisao div
  join departamento dep on (dep.cod_secretaria = div.cod_secretaria
                            and dep.cod_departamento =
div.cod_departamento)
union
select cast(div.cod_secretaria || div.cod_departamento ||
div.cod_divisao as integer) as master_field,
       cast(div.cod_secretaria || div.cod_departamento as integer) as
detail_field,
       div.nome
from divisao div
order by 1, 2, 3

-- 



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa







Mais detalhes sobre a lista de discussão lista