Fórum SQL em de uma tabela #284214

09/06/2005

0

Olá boa tarde.
Tenho um pequeno ´porém´, no meu sistema. estou precisando de uma relatório que pegue dados de 3 tabelas de diferentes e coloque-os em uma única query. Abaixo os campos que preciso:
Tb1 - (campos vacina, cod_animal, e valor)
Tb2 - (campo item, cod_animal, e valor)
tb3 - (campo serviço, cod_animal, e valor)
Estas 3 tables, guardam o campo Cod_Animal, pelo qual eu selecionaria os dados. resumindo: Uma sql das 3 tables onde o campo cod_animal fosse igual a 2 (exemplo).
Como posso fazer isso?
Obrigado


Dbergkamps

Dbergkamps

Responder

Posts

09/06/2005

Dbergkamps

só complementando:
Essa query deverá possuir campos ´próprios´, por exemplo: Historico, cod_animal e valor. Onde [b:5e9d0d6d04]histórico[/b:5e9d0d6d04] recebera o valor de Vacina, item e Serviço. Obrigado de novo. :lol: :lol:


Responder

Gostei + 0

10/06/2005

Dbergkamps

alguém pode me ajudar?


Responder

Gostei + 0

13/06/2005

Dbergkamps

sobe...


Responder

Gostei + 0

13/06/2005

Vanius

´
Tb1 - (campos vacina, cod_animal, e valor)
Tb2 - (campo item, cod_animal, e valor)
tb3 - (campo serviço, cod_animal, e valor)
Estas 3 tables, guardam o campo Cod_Animal, pelo qual eu selecionaria os dados. resumindo: Uma sql das 3 tables onde o campo cod_animal fosse igual a 2 (exemplo).
´
A query seria +- assim:

SELECT T1.Vacina, T1.Cod_Animal, T1.Valor ValorAnimal,
T2.Item, T2.Valor ValorItem,
T3.Servico, T3.Valor ValorServico
FROM Tb1 T1
LEFT OUTER JOIN Tb2 T2 ON T1.Cod_Animal = T2.Cod_Animal
LEFT OUTER JOIN Tb3 T3 ON T1.Cod_Animal = T3.Cod_Animal

{LEFT OUTER JOIN Serve para unir a tabela da esquerda com a principal,
sem q seja obrigado a ter 1 registro para esta tabela.
No caso LEFT OUTER JOIN Tb2 T2 ON T1.Cod_Animal = T2.Cod_Animal temos:
Tb2 = nome da tabela
T2 = apelido para Tb2
ON T1.Cod_Animal = T2.Cod_Animal = Liga T1 com T2. T2 nao precisa ter registros. Se nao tiver, resultado será em branco.

Podemos substituir LEFT OUTER JOIN por RIGHT OUTER JOIN (une-se com a tabela da direita) e INNER JOIN (é obrigatorio ter os dados nas 2 tabelas.). Existe tambem o CROSS JOIN, mas este eu nao saberei te explicar.

Abraços,


Vanius Girodo


Responder

Gostei + 0

14/06/2005

Dbergkamps

valeu cara.
Funcionou blz.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar