Usuário com melhor resposta
Procedure com tabela de retorno com Count

Pergunta
-
Bom dia
Desenvolvi esta procedure que traz o resultado agrupado por entidade, Fornecedor e qualificação e contabiliza a coluna qtdAtendido onde a condição do campo TempoGasto for <= 0, preciso incluir mais uma coluna que traga a quantidade de registros onde a condição for >0.
Conseguem me ajudar? Abaixo exemplo.
USE [Apolo_Teste] GO /****** Object: StoredProcedure [dbo].[uspControleEntregas] Script Date: 12/17/2018 08:12:16 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[uspControleEntregasFornecedor] @DataInicial DATETIME, @DataFinal DATETIME AS BEGIN DECLARE @vTabelaRetorno TABLE ( Data DATETIME, Codigo VARCHAR (30), Descricao VARCHAR (80), UnidMed VARCHAR (7), QuantidadeRecebida NUMERIC (24,9), QuantidadePedida NUMERIC (24,9), Pedido VARCHAR (10), NR VARCHAR (20), Entidade VARCHAR (7), Fornecedor VARCHAR (100), NotaFiscal VARCHAR (10), Qualificação VARCHAR (255), DataPrometida DATETIME, TempoGasto DATETIME) INSERT INTO @vTabelaRetorno SELECT RM.RecMercDataMovimento As Data, IRM.ProdCodEstr As Codigo, P.ProdNome As Descricao, IRM.ItRecMercUnidMedCod As UnidMed, IRM.ItRecMercQtdProd As QuantidadeRecebida, Ipc.ItPedCompQtd As QuantidadePedida, IRM.PedCompNum As Pedido, CLIRM.CtrlLoteRecMercNum As NR, E.EntCod As Entidade, E.EntNome As Fornecedor, RM.RecMercDocNum As NotaFiscal, E.EntInfFinAvaliacao As Qualificação, IPC.ItPedCompDataEntregaPromForn As DataPrometida, dbo.fn_DiasUteis_Logist(IPC.ItPedCompDataEntregaPromForn,RM.RecMercDataMovimento, 'Sim', 'Sim', 'Sim','','') As TempoGasto FROM REC_MERC RM WITH(NOLOCK), ITEM_REC_MERC IRM WITH(NOLOCK), PRODUTO P WITH(NOLOCK), CTRL_LOTE_ITEM_REC_MERC CLIRM WITH(NOLOCK), ENTIDADE E WITH(NOLOCK), ITEM_PED_COMP IPC WITH(NOLOCK) WHERE RM.RecMercChv = IRM.RecMercChv AND P.ProdCodEstr = IRM.ProdCodEstr AND RM.RecMercDataMovimento BETWEEN @DataInicial AND @DataFinal AND CLIRM.RecMercChv = IRM.RecMercChv AND CLIRM.ProdCodEstr = IRM.ProdCodEstr AND CLIRM.TipoEtapaCodEstr = IRM.TipoEtapaCodEstr AND IRM.TipoEtapaCodEstr = '1.2' AND E.EntCod = RM.EntCod AND P.ProdCodEstr >= '12.01.0001' AND P.ProdCodEstr <= '13.99.9999' AND P.ProdCodEstr = IPC.ProdCodEstr AND IRM.PedCompNum = IPC.PedCompNum AND IRM.ItPedCompSeq = IPC.ItPedCompSeq SELECT Entidade As Entidade, Fornecedor As Fornecedor, Qualificação As Qualificação, COUNT (TempoGasto) As QtdAtendido FROM @vTabelaRetorno WHERE TempoGasto <= 0 GROUP BY Entidade, Fornecedor, Qualificação ORDER BY 1 END
Respostas
-
Deleted
- Marcado como Resposta Leandro Massena Moraes segunda-feira, 17 de dezembro de 2018 15:08
Todas as Respostas
-
Deleted
- Marcado como Resposta Leandro Massena Moraes segunda-feira, 17 de dezembro de 2018 15:08
-