[firebase-br] Mais um problema com JOIN

Nivaldo Martins nivaldomart em gmail.com
Sex Out 16 17:45:29 -03 2009


Olá Evandro,

Não é possível utilizar join pois as tabelas não possuem relacionamento.
Como elas não tem o mesmo conjunto de atributos também fica difícil utilizar
union. No entanto talvez exista uma forma. Não sei se funciona, mas se puder
fazer um teste pode ser válido, ou se alguém com conhecimento mais apurado
puder responder, não sei. A idéia é a seguinte: Você fazer com que os
selects das duas tabelas projetem o mesmo conjunto de atributos mesmo que
não as possuam. Como se você projetasse vários campos calculados em um dos
selects. Não sei se funciona. Vale a pena fazer um teste.

Mais ou menos assim:

select
       codigonota,
       numero,
       data,
       codigoemitente
       campoexclusivo1
       campoexclusivo2
       campoexclusivo3
from
      notasfiscaiscanceladas
union all
select
       codigonota,
       numero,
       data,
       codigoemitente
       null as campoexclusivo1
       null as campoexclusivo2
       null as campoexclusivo3
from
      notasfiscais

Não sei se funciona desta forma, ainda não tenho conhecimentos sólidos em
sql, mas faz um teste, pq não tive tempo de simular essa situação aqui para
verificar.

Um abraço

Nivaldo Martins
6º Semestre SI
Unijorge 2009.2
Salvador - BA

2009/10/16 Evandro da Silva Amparo <evandro.amparo em gmail.com>

> Pessoal, tenho duas tabelas: NOTASFISCAISCANCELADAS e NOTASFISCAIS.
> A primeira tem os campos CODIGONOTA (PK), NUMERO, DATA e CODIGOEMITENTE.
> A segunda tem todos esses campos e alguns outros. Elas não tem nenhuma
> relação uma com a outra.
>
> A pergunta é: como criar uma visão para mostrar numa só listagem todas as
> notas, inclusive as canceladas? Seria mais apropriado utilizar JOIN ou
> UNION?
>
> Desde já agradeço.
>
> Evandro
> ______________________________________________
> 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
>



Mais detalhes sobre a lista de discussão lista