Vou dar uma lida e uma pensada melhor em tudo... obrigado por enquanto
2009/5/18 Osvaldo Kussama <[email protected]> > 2009/5/18 Sidnei Vladisauskis <[email protected]>: > > O problema é que acho que minha tabela não pode ser desse jeito... > > > > porque não tenho um produtos para várias lojas e sim um produto para cada > > loja. > > > > imaginem assim, tenho os produtos: > > tv lcd lg 29" na loja 1 > > tv lcd lg 29" black piano na loja 2 > > > > o único detalhe que muda é a descrição... > > > > mas na hora do select quero trazer tv lcd 29" e em que loja tem isso > > > > +ou- como funciona o busca pé ou outro site do gênero. > > > > > > 2009/5/18 Osvaldo Kussama <[email protected]> > >> > >> 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 > >> > > > Se isto for mesmo verdade eu diria que este é um caso único e > sui-generis de rede de lojas. > Imagine por ex. a livraria Saraiva em que cada loja da rede tivesse > seus próprios livros e que cada um deles não estivesse a venda em > nenhuma outra loja da rede. Me parece muito estranho e fora da > realidade. > > Dê uma revisada em seu modelo conceitual de dados e leia um pouco > sobre normalização. Pode começar por aqui: > http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados > > Osvaldo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
