Fórum Fracionar um valor em grupos #468766

04/02/2014

0

Ola,
Tenho a seguinte tabela:
select  E.nome_popular as especies,
S.espessura,S.largura,S.comprimento,
S1.quantidade,
S1.volume
from saida_subproduto S2
inner join saida_subproduto_itens S1 on (S2.id_saida_subproduto=S1.id_saida_subproduto)
inner join subproduto S on (S1.cod_subproduto=S.cod_subproduto)
inner join especie E on (S.id_especie=E.id_especie)    
inner join contribuinte C on (S2.id_contribuinte=C.id_contribuinte)select  E.nome_popular as especies,
S.espessura,S.largura,S.comprimento,
S1.quantidade,
S1.volume
from saida_subproduto S2
inner join saida_subproduto_itens S1 on (S2.id_saida_subproduto=S1.id_saida_subproduto)
inner join subproduto S on (S1.cod_subproduto=S.cod_subproduto)
inner join especie E on (S.id_especie=E.id_especie)    
inner join contribuinte C on (S2.id_contribuinte=C.id_contribuinte)


[img]http://arquivo.devmedia.com.br/forum/imagem/358097-20140204-094314.jpg[/img]

na coluna de quantidade tenho diversos valores, mas a minha necessidade é de agrupar quantidades de 12.
é como se eu quisesse formar jogos de 12 peças. Estou ciente que também posso mudar a forma como lanço meu produto, mas essa houver essa solução no select seria muito melhor pra mim.
Leandro Reis

Leandro Reis

Responder

Posts

05/02/2014

Douglas

Leandro, você quer agrupar somente as quantidades que seja igual a 12?
Responder

Gostei + 0

05/02/2014

Thiago Irrazabal

Boa tarde, tu ta querendo agrupar a cada 12 registros é isso? Se for eu não conheço nada que o faça...



Att,
Thiago Irrazabal de Oliveira.
Responder

Gostei + 0

05/02/2014

Alex Lekao

Oi boa tarde!!

Eu li algumas vezes e nao consegui entender a necessidade.

ta me parecendo que quer so os itens com qtd 12, neste caso seia so um where.

Agora dependendo de como for a gente teria que analisar melhor, se eh fazer blocos de 12 em 12, ou algum outro tipo de agrupamento.
Responder

Gostei + 0

05/02/2014

Leandro Reis

Quero agrupar blocos de 12 unidades mesmo tendo lançado quantidades variadas, exemplo:
48 peças vai equivaler a 4 blocos de 12 unidades.
Como as peças podem ter propriedades diferentes na espessura, largura e comprimento vou precisar também desses valores separados.

Desde já obrigado pela atenção.
Responder

Gostei + 0

05/02/2014

Alex Lekao

Tudo bem, mas onde vc tem as informacoes necessarias para chegar nisso?

Eu utilizo bastante coisa aqui que agrupa os itens e da os valores nas colunas da frente como qtde de isso daquilo e tal, mas honestamente nao consegui assimilar ainda o que vc esta querendo fazer.

me desculpe.
Responder

Gostei + 0

05/02/2014

Leandro Reis

Tudo bem, a informação que eu tenho é da quantidade conforme a imagem. Infelizmente são valores variados (19, 31, 05, 48..). Agora eu resolvi dividir tudo isso em blocos de 12 unidades (fisicamente). Então antes de eu abandonar tudo o que tenho lançado e começar um novo controle, quero saber antes se há uma forma de fazer essa separação em um select.
Responder

Gostei + 0

05/02/2014

Alex Lekao

Entao, o que pensei foi algum calculo matematico para vc chegar no que vc quer.

O que eu nao estaria entendendo era se teria que dividir a quantidade por 12 para fazer os agrupamentos ou nao.

se isso resolveria seu problema, acredito que seja um caminho.

nao sei se dara certo, ai vc coloca esse calculo matematico no group by, ai acredito que ja resolva.
Responder

Gostei + 0

06/02/2014

Leandro Reis

Bom dia,
Obrigado pela dica, resolvi ficar apenas com os totais que também já me ajudam bastante.

sum(S1.quantidade/12) as qtd_blocos


Com essa soma dividindo por 12 eu sei a quantidade blocos que tenho com 12 unidades.

Obrigado a todos!!
Responder

Gostei + 0

06/02/2014

Alex Lekao

se nao me engano vc pode usar esse sum no group by e ele vai agrupar para vc pelos blocos com 12.

se nao me engano da para usar 1,2,3,4 tbm para indicar para o Firebird por qual coluna vc quer agrupar, ou eh para ordenar, agora nao lembro. rssrsrsr
Responder

Gostei + 0

13/02/2014

William

Encerrando o tópico!!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar