Em 28-08-2014 02:47, Fabio Systema - GMail escreveu:
Boa noite Amigos da lista...
Estou com o seguinte problema, não estou conseguindo chegar a uma
solução, tenho a seguinte estrutura de tabelas.
tabela _*animal*_
codigo serial,
apelido varchar(50),
dtnascimento date
tabela _*animal_brinco*_
codigo serial
animal_codigo integer, (fk)
numero_brinco varchar(15),
dtcolocacao date,
dtperda date,
atual char(1) check(atual in('S','N')
Podendo um animal ter *n**enhum, 1 ou mais* brincos cadastrados.
Preciso trazer uma listagem com os dados seguintes dados:
codigo(animal), apelido,dtnascimento, numero_brinco
Estou tentando trazer com o seguinte sql, porem sem sucesso:
/select a.codigo, a.apelido,a.dtnascimento, ab.numero_brinco//
//from animal as a //
//left join animal_brinco as ab on ab.animal_codigo = a.codigo/
Está trazendo da seguinte forma:
- animal sem brinco cadastrado, não aparece na listagem
- animal com 1 brinco traz "certo"
- animal com mais de 1 brinco traz quantos registros tiver na tabela
animal_brinco
Q que eu queria trazer seria:
Todos os animais cadastrados independente de ter brinco ou não.
Agradeço se puderem dar dicas para resolver esta questão.
A sua consulta deveria trazer todas as linhas da tabela animal,
certamente, é estranho não retornar nenhuma linha quando não há linha
relacionada na tabela animal_brinco.
Poderia nos dar um exemplo com dados?
Por outro lado, quando há mais de uma linha na tabela animal_brinco
relacionadas a aniaml, o comportamento está correto, você teria que
fazer algum tipo de agregação caso queira apenas uma linha retornada
para cada linha existente em animal.
[]s
Flavio Gurgek
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral