Ir para conteúdo

Arquivado

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

Valmir_vpp

SELECT usando função COUNT

Recommended Posts

Bom dia à todos do fórum, sou novo aqui e estou com um problema para criar um SELECT usando a função COUNT, já procurei na net e até aqui mesmo no fórum, mas não consegui encontrar nada.

Bom tenho um banco onde existe um cadastro de peças:

Nro_Rolo Nro_Peca Peso UN Codigo Desc_Produto

0000001426 000 357.6000 KG N09081 PA- TEC PLANO 130 1,20
0000001347 000 133.8000 KG N09081 PA- TEC PLANO 130 1,20
0000001348 000 131.2000 KG N09054 PA- TEC PLANO 110 1,15
0000001310 000 326.0000 KG N09054 PA- TEC PLANO 110 1,15
0000001311 000 330.6000 KG N09054 PA- TEC PLANO 110 1,15
0000001193 000 396.8000 KG N03086 PA- TEC PLANO 220 1,10
0000001194 000 396.8000 KG N03086 PA- TEC PLANO 220 1,10
0000001195 000 396.8000 KG N03086 PA- TEC PLANO 220 1,10
Então gostaria de fazer um select contando e agrupando os produtos que são iguais e somando os pesos ex:

Nro_Peca Peso UN Codigo Desc_Produto Volume

000 491.4000 KG N09081 PA- TEC PLANO 130 1,20 2
000 787.7000 KG N09054 PA- TEC PLANO 110 1,15 3
000 1.190.4000 KG N03086 PA- TEC PLANO 220 1,10 3
segue o Select:
Select

     P.Nro_Rolo,
     P.Nro_Peca,
     P.Peso,
     Pr.Unidade as Unidade_Medida,
     P.Produto,     
     Isnull(Pr.Descricao, '''') Desc_Produto,
     Isnull(Cat.Descricao, '''') Desc_Categoria,
     Isnull(Ctt.Descricao, '''') Desc_CatTinto,
     Isnull(Cor.Descricao, '''') Desc_Cor,
     PR.Subgrupo,
     RS.Descricao,
     P.gaveta,
     P.Data_Entrada
   From cte_peca P
   Left Join Produtos Pr ON (Pr.Empresa = P.EmpProd and Pr.Codigo = P.Produto)
   Left Join Car_Cores Cor ON (Cor.Codigo = P.Cor)
   Left Join Car_Categorias Cat ON (Cat.Codigo = P.Categoria)
   Left Join Car_Situacoes Sit ON (Sit.Codigo = P.Situacao)
   Left Join Car_Categorias Ctt ON (Ctt.Codigo = P.Categoria_Tinto)
   LEFT OUTER JOIN Ret_SubGrupos RS ON (RS.Codigo = PR.Subgrupo)AND(RS.Grupo = PR.Grupo)AND (RS.Secao = Pr.Secao)
   Where Not exists (Select 0 From Car_Pecas_Distribuidas x Where X.Empresa = P.Empresa and X.Nro_Rolo = P.Nro_Rolo and X.Nro_Peca = P.Nro_Peca)
   and   Not exists (Select 0 From Car_Separacao_Pecas Y Where Y.Empresa = P.Empresa and Y.Situacao = P.Situacao and Y.Nro_Rolo = P.Nro_Rolo and Y.Nro_Peca = P.Nro_Peca)
   and P.Gaveta = 'ESTOQUE'  
   
   ORDER BY Desc_Cor,Pr.Subgrupo,Desc_Produto
O problema é quando coloco a função count Dá um erro
 P.Nro_Rolo,

     P.Nro_Peca,
     P.Peso,
     Pr.Unidade as Unidade_Medida,
     P.Produto,     
     Isnull(Pr.Descricao, '''') Desc_Produto,
     Isnull(Cat.Descricao, '''') Desc_Categoria,
     Isnull(Ctt.Descricao, '''') Desc_CatTinto,
     Isnull(Cor.Descricao, '''') Desc_Cor,
     PR.Subgrupo,
     RS.Descricao,
     P.gaveta,
     P.Data_Entrada
fala que está em um group by

Compartilhar este post


Link para o post
Compartilhar em outros sites


Select

P.Nro_Rolo,

P.Nro_Peca,

P.Peso,

Pr.Unidade as Unidade_Medida,

P.Produto,

Isnull(Pr.Descricao, '''') Desc_Produto,

Isnull(Cat.Descricao, '''') Desc_Categoria,

Isnull(Ctt.Descricao, '''') Desc_CatTinto,

Isnull(Cor.Descricao, '''') Desc_Cor,

PR.Subgrupo,

RS.Descricao,

P.gaveta,

P.Data_Entrada,

count(*) qtd

From cte_peca P

Left Join Produtos Pr ON (Pr.Empresa = P.EmpProd and Pr.Codigo = P.Produto)

Left Join Car_Cores Cor ON (Cor.Codigo = P.Cor)

Left Join Car_Categorias Cat ON (Cat.Codigo = P.Categoria)

Left Join Car_Situacoes Sit ON (Sit.Codigo = P.Situacao)

Left Join Car_Categorias Ctt ON (Ctt.Codigo = P.Categoria_Tinto)

LEFT OUTER JOIN Ret_SubGrupos RS ON (RS.Codigo = PR.Subgrupo)AND(RS.Grupo = PR.Grupo)AND (RS.Secao = Pr.Secao)

Where Not exists (Select 0 From Car_Pecas_Distribuidas x Where X.Empresa = P.Empresa and X.Nro_Rolo = P.Nro_Rolo and X.Nro_Peca = P.Nro_Peca)

and Not exists (Select 0 From Car_Separacao_Pecas Y Where Y.Empresa = P.Empresa and Y.Situacao = P.Situacao and Y.Nro_Rolo = P.Nro_Rolo and Y.Nro_Peca = P.Nro_Peca)

and P.Gaveta = 'ESTOQUE'

group by P.Nro_Rolo,

P.Nro_Peca,

P.Peso,

Pr.Unidadea,

P.Produto,

Isnull(Pr.Descricao, ''''),

Isnull(Cat.Descricao, ''''),

Isnull(Ctt.Descricao, ''''),

Isnull(Cor.Descricao, ''''),

PR.Subgrupo,

RS.Descricao,

P.gaveta,

P.Data_Entrada

ORDER BY Desc_Cor,Pr.Subgrupo,Desc_Produto

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.