Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ferreirajc23

Agrupar sem GROUP BY

Recommended Posts

Bom dia amigos,

Estou com uma dúvida que está me tirando do sério. Já rodei em todos os foruns e não encontro algo semelhante.

 

Quero agrupar valores sem GROUP BY por que para o resultado pretendido não funciona.

 

EXEMPLO:

 

id: 1
descrição: PRODUTO 1

unidade: 1

quantidade: 5

 

id: 2
descrição: PRODUTO 1

unidade: 1

quanidade: 5

 

id: 3
descrição: PRODUTO 1

unidade: 2

quantidade: 5

O RESULTADO QUE PRETENDO É O SEGUINTE:

Descrição: PRODUTO 1
Unidade 1: 10
Unidade 2: 5

 

Alguém pode me ajudar por gentileza? De já agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William não funciona pro resultado esperado. Se usar o SUM() não sei como dividir o valor das unidades.

Descrição: PRODUTO 1
Unidade 1: 10
Unidade 2: 5

 

Com o SUM() vai sair 15 o resultado sem separar por unidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

VINICIUS ... informação do banco de dados.

id: 1
descrição: PRODUTO 1

unidade: 1

quantidade: 5

 

id: 2
descrição: PRODUTO 1

unidade: 1

quanidade: 5

 

id: 3
descrição: PRODUTO 1

unidade: 2

quantidade: 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por que preciso de outras informações e o GROUP BY não aceita só uma coluna.

 

E há várias colunas como DATA e MOVIMENTO que impedem de agrupar já que são distintas.

 

Sem falar DIOGO que preciso agrupar é por produto. Como explicado no primeiro post.

 

Meu select:

 

SELECT E.Movimento, E.Dt_movimento, E.Cd_material, E.Quantidade, E1.Cd_fabricante, G1.Nome_completo,
E.Pr_unitario, E.Serie, E.Nf, E.Cd_empresa, E.Uni_neg, E.Cd_centro_armaz, E.Cd_especif1, E.Especif2, E.Uni_med, E.Tipo_documento,
E.Tipo_movimento, E.Cd_esp_estoque, G.Nome_completo, G.Cd_empresa, G.Municipio, G.Uf, E1.Descricao, E1.Referencia, E1.Cd_grupo,
E1.Cd_sub_grupo, E2.Cd_especie_esto, E2.Tipo, E1.Cd_reduzido

FROM ESMOVIME as E
inner join GEEMPRES as G ON E.Cd_empresa = G.Cd_empresa
inner join ESMATERI as E1 ON E.Cd_material = E1.Cd_material
inner join GEEMPRES as G1 ON E1.Cd_fabricante = G1.Cd_empresa
inner join ESESPECI as E2 ON E.Cd_esp_estoque = E2.Cd_especie_esto

Fiz conexão do PHP com o SQL SERVER através da função sqlsrv_

Compartilhar este post


Link para o post
Compartilhar em outros sites
Por que preciso de outras informações e o GROUP BY não aceita só uma coluna.

 

 

Não, aceita N colunas basta informar no group by

 

algo como ...

select cpf,data,sum(valor)
from nota_fiscais
group by cpf,data

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Não, aceita N colunas basta informar no group by

 

algo como ...

select cpf,data,sum(valor)
from nota_fiscais
group by cpf,data

 

Amigo o GROUP BY agrupa valores semelhantes. Mas as linhas da minha consulta tem valores distintos. Como já havia comentado no post anterior.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para conseguir o resultado que você quer:

 

Descrição: PRODUTO 1
Unidade 1: 10
Unidade 2: 5

 

No caso o alias das colunas ou seja o nome ira alterar com o resultado, eu não sei se isso tem como kk

mas não pode usar programação para isso não? precisa ser desse jeito o retorno do sql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

para conseguir o resultado que você quer:

 

Descrição: PRODUTO 1

Unidade 1: 10

Unidade 2: 5

 

No caso o alias das colunas ou seja o nome ira alterar com o resultado, eu não sei se isso tem como kk

mas não pode usar programação para isso não? precisa ser desse jeito o retorno do sql?

Foi essa a ajuda que solicitei ... Kkkk ... Por isso coloquei no título que era sem GROUP BY ... Por que preciso de um while ou coisa semelhante ... eu fiz um porém o resultado sai duplicado, pela quantidade de linhas.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.