Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo de Tarso F. M.

[Resolvido] Select em 3 tabelas...

Recommended Posts

Olá pessoal!

 

Olha só, tenho 3 tabelas com uma estrutura mais ou menos assim:

 

Tabela1, Tabela2 e Tabela3:

cod, status, ord

 

O que muda de uma para outra é que cada uma possui campos que as outras não têm, mas o que eu preciso são essas 3, que são comuns.

 

Como faço para selecionar todos os produtos das tabelas 1, 2 e 3 que tenham seu status como 'Ativo' e ordená-los pela coluna 'ord'? :mellow:

 

O que acontece é que o select no final terá no máximo 6 registros, só que eles podem estar distribuídos de maneira aleatória entre essas 3 tabelas (por exemplo, posso ter 5 produtos na tabela 1, 1 na tabela 3 e nenhum na tabela 2), e nessa coluna 'ord' estará gravada um número (de 1 a 6), então eu preciso selecionar estes produtos e ordenar em ordem crescente de acordo com a coluna 'ord'...

 

Como faço isso? :mellow: Travei aqui com isso e não consegui resolver...

 

Se alguém puder me ajudar...

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você ja tentou o "UNION"?

 

SELECT cod, status, ord FROM Tabela1 WHERE status='ativo'
UNION
SELECT cod, status, ord FROM Tabela2 WHERE status='ativo'
UNION
SELECT cod, status, ord FROM Tabela3 WHERE status='ativo';

você pode passar o resultado dessa query para uma outra tabela, temporária, e fazer um "ORDER BY ord ASC;"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Victor!

 

Obrigado pela ajuda, deu certo com o UNION sim. E para ordenar pela coluna 'ord', não precisei passar para outra tabela não, funcionou assim:

SELECT cod, status, ord FROM Tabela1 WHERE status='ativo'

UNION

SELECT cod, status, ord FROM Tabela2 WHERE status='ativo'

UNION

SELECT cod, status, ord FROM Tabela3 WHERE status='ativo'

ORDER BY ord ASC
Valeu!

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.