[firebase-br] Criar view com union

Isael Faria Junior isael em stetika.com.br
Qua Dez 10 18:45:37 -03 2008


BOM,

fiz um teste aqui e deu certo,

porem tenho algumas duvidas,

se as suas tabelas forem iguais pq não usar apenas o union ?
os campos são diferente ? ou tipos diferentes ?

segue o exemplo de uma view com union

*create view vw_itens_contratos_impressao
(tipo,
 cod_contrato,
 seq,
 quantidade,
 unidade,
 codigo,
 descricao,
 valor_unitario,
 valor_total,
 valor_indenizatorio)
as
select
 'PAT',
 a.cod_contrato,
 a.id_ite_patr_contr,
 a.qtd_item_locacao,
 (select sigla from unidade where id_unidade = a.id_unid_qtd),
 a.cod_patrimonio,
 a.nom_patrimonio,
 a.val_unitario,
 a.val_total,
 (select VALORVENDA from patrimonio  where id_patrimonio = a.id_patrimonio)
 from ite_patr_contr a
 where a.sit_tip_ori = 'O'
union
 select
 'PRD',
 b.cod_contrato,
 b.id_ite_prd_contr,
 b.QTD_ITEM_LOCACAO,
 (select sigla from unidade where id_unidade = b.id_unid_qtd),
 b.cod_produto,
 b.nom_produto,
 b.val_unitario,
 b.val_total,
 (select p.preco_venda from produtos p where id_produto = b.id_produto)
 from ite_prod_contr b
 where b.sit_tip_ori = 'O'*

Cássio escreveu:
> não.
> Pois se faço o select fora do escopo de uma union funciona.
>
>
> to fazendo assim:
>
> CREATE VIEW "vw_Teste"
> (
>   campo1,
>   campo2,
>   campo3,
>
> )
> AS
> select campo1, campo2, campo3 from tabela1
> union all
> select campo1, campo2, campo3 from tabela2;
>
>
> Depois faço isso:
>
> select * from vw_teste
>
> e dá este erro:
> SQL Error:  Dynamic SQL Error SQL error code = @1 Table unknown @1 At 
> line @1, column @2. Error Code: -204. Undefined name The SQL: select * 
> from vw_teste
>
>
>
>
> Joao Batista Santos escreveu:
>> Ola Cassio:
>> Parece que sua view esta tentando fazer a Union
>> com a tabela ALL, esta realmente não existe...
>>
>>
>> 2008/12/10 Cássio <cassio.hc em gmail.com>
>>
>>> Estou criando uma view que tem um UNION ALL...
>>> crie normal, como de costume e quando faço um select * from 
>>> minhaview dá
>>> erro que não encontra a tabela.
>>>
>>> TEm algum problema de fazer union dentro de uma view no firebird?
>>> pergunto porque utilizo bastaten view nos meus projetos e esta está 
>>> igual
>>> as outras porém tem o union (não foi preciso usar até agora)
>>>
>>> vlw.
>>>
>>>
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> __________ Information from ESET Smart Security, version of virus 
> signature database 3676 (20081209) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
>




Mais detalhes sobre a lista de discussão lista