Jump to content

Archived

This topic is now archived and is closed to further replies.

Romulo Petri

Como Juntar dois resultados de um select

Recommended Posts

Eu tenho 2 consultas que preciso exibir o resultado num relatorio.

Estou usando uma ferramenta meio limitada, então o que eu precisava fazer era juntar o resultados dos dois selects da seguinte forma

 

 

Select campo1, campo2

from tab1

 

 

select campo3, campo4

from tab2

 

 

 

O resultado desejado seria

 

campo1 | campo2 | campo3 | campo4

xxx yyy zzz zzzz

xxx yyy zzz zzzz

xxx yyy zzz zzzz

zzz zzzz

zzz zzzz

zzz zzzz

 

 

Lembrando não existe chave, nem nada para ligar, eu só quero que os resultados se anexem.

Será que isso seria possivel?

E ainda uma query pode ter mais registros que a outra(nesse caso a que não tem nada fica null)

Share this post


Link to post
Share on other sites

oie, depende do que você deseja no final..

 

se for para aparecer 2 colunas, seria válido você usar o UNION ALL

 

Ex:

Select campo1 as TX1, campo2 as TX2
from tab1 
UNION ALL
select campo3 as TX1, campo4 as TX2
from tab2
para isso acontecer, você precisa ter os mesmos nomes das tabelas(da para usar alias, claro)

 

Agora se o resultado for todos os campos do mesmo lado:

Select campo1, campo2, '' as campo3, '' as campo4
from tab1 
UNION ALL
Select campo1, campo2, '' as campo3, '' as campo4
from tab2

Share this post


Link to post
Share on other sites

Na verdade o que eu preciso é que apareça todos os quatro campos.

Um do lado do outro, sem nenhum critério de relacionamento.

Mas associando linha a linha, sem que seja feito um produto cartesiano.

 

Você sabe como isso seria possivel?

 

Obrigado

Share this post


Link to post
Share on other sites

Apesar de, particularmente, se eu fosse você usaria a query desta forma mesmo e trabalharia com 2 recordsets, é mais recomendado... segue o que você quer:

Select t1.campo1, t1.campo2, t2.campo3, t2.campo4 from tab1 t1, tab2 t2

 

[]tz ;)

Share this post


Link to post
Share on other sites

Romulo...

Tenta usar o comando UNION...

 

A sintaxe dele:

 

Select campo1, campo2 form tabela1 union Select campo1, campo2 form tabela2

Mas, dessa forma ele vai trazer os resultados apenas em duas colunas... primeiro os valores da tabela 1 e depois os valores da segunda tabela!

Não sei se é possível você trazer os resultado na forma que você descreveu (em quatro colunas, sendo duas de cada tabela), já que não há chave nas tabelas o sql não teria como fazer tal ligação.

 

Testa o union e veja se satisfaz sua necessidade.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.