Skip to content

Instantly share code, notes, and snippets.

@CoutinhoElias
Created August 6, 2022 17:03
Show Gist options
  • Save CoutinhoElias/2a38da185afab4ace2b4a9fb0ac2cd45 to your computer and use it in GitHub Desktop.
Save CoutinhoElias/2a38da185afab4ace2b4a9fb0ac2cd45 to your computer and use it in GitHub Desktop.
Solução para Join com peewee.
# Observando o Join na consulta abaixo pode observar que o nome das tabelas não se repetem
p = Estoque.select(
Detalhe.cdprincipal,
Detalhe.dsdetalhe,
Produto.stativo,
Grupo.nmgrupo,
Familia.dsfamilia,
Detalhe.vlprecocusto,
Detalhe.vlprecovenda,
Unidade.dsunidade,
Pessoas.nmpessoa,
Detalhe.iddetalhe,
Estoque.qtestoque2,
Estoque.qtestoque
).join(Detalhe, on=Estoque.iddetalhe == Detalhe.iddetalhe). \
join(Produto, on=(Detalhe.idproduto == Produto.idproduto)). \
join(Familia, on=(Detalhe.idfamilia == Familia.idfamilia)). \
join(Grupo, on=(Produto.idgrupo == Grupo.idgrupo)). \
join(Unidade, on=(Produto.idunidade == Unidade.idunidade)). \
join(Pessoas, on=(Produto.idfornecprincipal == Pessoas.idpessoa))
# Por outro lado a consulta abaixo está cheia de repetições, este conceito no join do peewee eu desconhecia.
p = Produto.select(
Detalhe.cdprincipal,
Detalhe.dsdetalhe,
Produto.stativo,
Grupo.nmgrupo,
Familia.dsfamilia,
Detalhe.vlprecocusto,
Detalhe.vlprecovenda,
Unidade.dsunidade,
Pessoas.nmpessoa,
Detalhe.iddetalhe,
Estoque.qtestoque2,
Estoque.qtestoque
).join(Detalhe, on=(Estoque.iddetalhe == Detalhe.iddetalhe)). \
join(Familia, on=(Detalhe.idfamilia == Familia.idfamilia)). \
join(Detalhe, on=(Detalhe.idproduto == Produto.idproduto)). \
join(Produto, on=(Produto.idgrupo == Grupo.idgrupo)). \
join(Produto, on=(Produto.idunidade == Unidade.idunidade)). \
join(Produto, on=(Produto.idfornecprincipal == Pessoas.idpessoa)). \
where(Estoque.iddetalhe == Detalhe.iddetalhe)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment