[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