2009/5/18 Lucas Souza <[email protected]>: > > > 2009/5/18 Sidnei Vladisauskis <[email protected]> >> >> Fala pessoal, >> >> Estou com uma dúvida conceitual para fazer um select >> >> Vamos lá: >> >> tenho uma tabela "produtos" onde tenho >> id >> name >> loja_id >> >> e tenho uma tabela loja onde tenho >> loja_id >> name >> >> >> Tenho produtos que possuem em duas lojas, por exemplo: >> tv lcd lg 29" >> >> ela está dentro de produtos duas vezes >> >> Tabela produtos >> | id | name | loja_id >> | 1 | tv lcd lg 29" | 1 >> | 2 | tv lcd lg 29" | 2 > > desta forma você esta replicando dados desnecessariamente, > > o correto seria uma 3º entidade para associar o produto a loja assim... > > (exemplo) tabela produto_relacao_loja > > loja_id (PK, FK) > produto_id (PK, FK) > estoque > preco > > >> >> >> Quando faço select * from produtos tenho todos os resultados. >> >> Como eu rotorno o seguinte? >> >> | name | lojas >> | tv lcd lg 29" | 1,2 >> >> Tem como? >> >> Se eu der group by name ele pede id tb, e ai dá na mesma... >>
Além do excelente e apropriado conselho do Lucas você pode usar, especificamente para o select desejado, uma função de agregação. Veja o exemplo array_accum em: http://www.postgresql.org/docs/current/interactive/xaggr.html Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
