Filtro de Pontos total com seleção de data
Olá, estou começando em Banco, a empresa que trabalho me passou uma function, porém preciso adaptar ela para que ela funcione com o relatório que eles precisam.
Preciso de uma query que pegue todos os Pontos e me retorne a soma deles e subtraia com os Pedidos, retornando o total de pontos em uma determinada data.
eu precisava saber o saldo de pontos disponíveis da base inteira em 01/01/2021 00:00:00
Essa function é apenas para um usuário específico, então não daria pra usar ela.
USE [LorealDigital_DEV]
GO
/****** Object: UserDefinedFunction [dbo].[SALDO] Script Date: 10/06/2021 12:23:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[SALDO_teste]
(
-- Add the parameters for the function here
@CadastroId int,
@data datetime
)
RETURNS decimal
AS
BEGIN
DECLARE @Pontos decimal, @Pedidos decimal
select @Pontos = ISNULL(SUM(Ponto), 0) from Pontuacao (NOLOCK) where CadastroId = @CadastroId and DataInclusao < @data and PontuacaoStatusId = 1
select @Pedidos = ISNULL(SUM(PontoTotal), 0) from Pedido (NOLOCK) where CadastroId = @CadastroId and PedidoStatusId in (1, 2, 3, 5, 6, 7, 9)
RETURN @Pontos - @Pedidos
END
Preciso de uma query que pegue todos os Pontos e me retorne a soma deles e subtraia com os Pedidos, retornando o total de pontos em uma determinada data.
eu precisava saber o saldo de pontos disponíveis da base inteira em 01/01/2021 00:00:00
Essa function é apenas para um usuário específico, então não daria pra usar ela.
USE [LorealDigital_DEV]
GO
/****** Object: UserDefinedFunction [dbo].[SALDO] Script Date: 10/06/2021 12:23:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[SALDO_teste]
(
-- Add the parameters for the function here
@CadastroId int,
@data datetime
)
RETURNS decimal
AS
BEGIN
DECLARE @Pontos decimal, @Pedidos decimal
select @Pontos = ISNULL(SUM(Ponto), 0) from Pontuacao (NOLOCK) where CadastroId = @CadastroId and DataInclusao < @data and PontuacaoStatusId = 1
select @Pedidos = ISNULL(SUM(PontoTotal), 0) from Pedido (NOLOCK) where CadastroId = @CadastroId and PedidoStatusId in (1, 2, 3, 5, 6, 7, 9)
RETURN @Pontos - @Pedidos
END
Bruno Motta
Curtidas 0