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

Responder a