SQL em de uma tabela
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
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
Curtidas 0
Respostas
Dbergkamps
09/06/2005
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:
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:
GOSTEI 0
Dbergkamps
09/06/2005
alguém pode me ajudar?
GOSTEI 0
Dbergkamps
09/06/2005
sobe...
GOSTEI 0
Vanius
09/06/2005
´
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
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
GOSTEI 0
Dbergkamps
09/06/2005
valeu cara.
Funcionou blz.
Funcionou blz.
GOSTEI 0