Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ericsson Berg

Unir dados de dois select diferentes com dois campos em comum

Recommended Posts

Galera!!

 

Utilizo o php para linkar os dados de uma query e realizar uma pesquisa em outra query e assim imprimir em uma única tabela dos dados de ambas as pesquisas.

 

Porém pesquisei e não encontrei algo ou exemplo conclusivo que possa unir via sql os dados de duas tabelas distintas, ou melhor, duas tabelas que possuam somente dois campos em comum e traga os dados de ambas em uma única consulta.

 

Seria assim:

SELECT TAB1.COD_EMPRESA,
       TAB1.NOME_VENDEDOR,
       TAB2.QUANTIDADE
FROM TAB1,
     TAB2


SELECT TAB3.COD_EMPRESA,
       TAB3.NOME_VENDEDOR,
       TAB4.MARGEM,
       TAB4.DATA_VENDA
FROM TAB3,
     TAB4

WHERE  TAB1.COD_EMPRESA = TAB3.COD_EMPRESA
   AND TAB1.NOME_VENDEDOR = TAB3.NOME_VENDEDOR 
 

No caso ambas as tabelas possuem vários campos, eu precisaria que os dados da primeira realizasse uma consulta na segunda e os dados de ambas aparecessem na consulta.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dados do primeiro select seriam a base da consulta no segundo ou demais existentes, então seriam a base os campos de dados TAB1.COD_EMPRESA, TAB1.NOME_VENDEDOR, que seriam utilizados como critério no segundo select:

SELECT TAB1.COD_EMPRESA,
       TAB1.NOME_VENDEDOR,
       TAB2.QUANTIDADE
FROM TAB1,
     TAB2


SELECT TAB3.COD_EMPRESA,
       TAB3.NOME_VENDEDOR,
       TAB4.MARGEM,
       TAB4.DATA_VENDA
FROM TAB3,
     TAB4

WHERE  TAB3.COD_EMPRESA = ((TAB1.COD_EMPRESA)) --- () só para destacar
   AND TAB3.NOME_VENDEDOR = ((TAB1.NOME_VENDEDOR)) --- () só para destacar
   AND TAB1.COD_EMPRESA = 2
   AND TAB1.NOME_VENDEDOR = 'JOAO'

No PHP como falei eu armazenaria estes dados em uma variável e utilizaria para realizar a consulta no segundo select, mas tem como fazer no SQL o mesmo processo.

 

 

Como query separadas e não como a segunda query sendo um campo da primeira:

SELECT TAB1.COD_EMPRESA,
       TAB1.NOME_VENDEDOR,
       TAB2.QUANTIDADE,
   (SELECT TAB3.COD_EMPRESA,
       TAB3.NOME_VENDEDOR,
       TAB4.MARGEM,
       TAB4.DATA_VENDA
    FROM TAB3,
         TAB4

    WHERE  TAB3.COD_EMPRESA = TAB1.COD_EMPRESA
         AND TAB3.NOME_VENDEDOR = TAB1.NOME_VENDEDOR) DADOS_QUERY2

FROM TAB1,
     TAB2

WHERE TAB1.COD_EMPRESA = 2
      AND TAB1.NOME_VENDEDOR = 'JOAO'

Falo isso porque as query são muito grandes e se colocar as seis dentro da principal vai ficar aparentemente gigantesca e difícil entendimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o problema confesso, mas vamos lá.

 

Qual a estrutura das tabelas ?

Como elas se relacionam entre si ?

Qual o resultado esperado ?

 

Creio que um join resolva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.