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

HPensador hpensador em gmail.com
Sex Ago 24 15:49:57 -03 2007


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

-- 






Mais detalhes sobre a lista de discussão lista