Knocks/BackEnd/Knoks.Operate/Stored Procedures/BO_GetKnoksLossCount.sql

24 lines
911 B
Transact-SQL

CREATE PROCEDURE [dbo].[BO_GetKnoksLossCount]
@UserId INT = NULL
AS
SELECT 1 as Id, COUNT(1) as [Count] FROM Signals s
JOIN UserKnoks uk ON uk.KnokId = s.KnokId AND uk.UserId = ISNULL(@UserId, uk.UserId)
JOIN _KnokStatuses ks ON ks.KnokStatusId = s.KnokStatusId
WHERE s.KnokStatusId = 5 AND s.StopLossTouched = 0 AND s.ExitPriceTouched = 0 AND ks.IsClosed = 0 -- ExitPriceMissed
UNION ALL
SELECT 2 as Id, COUNT(1) as [Count] FROM Signals s
JOIN UserKnoks uk ON uk.KnokId = s.KnokId AND uk.UserId = ISNULL(@UserId, uk.UserId)
WHERE KnokStatusId = 5 AND StopLossTouched = 1 -- -- Stop loss reached
UNION ALL
SELECT 3 as Id, COUNT(1) as [Count] FROM Signals s
JOIN UserKnoks uk ON uk.KnokId = s.KnokId AND uk.UserId = ISNULL(@UserId, uk.UserId)
JOIN _KnokStatuses ks ON ks.KnokStatusId = s.KnokStatusId
WHERE s.KnokStatusId = 5 AND ks.IsClosed = 1 --ClosedByKnokser
RETURN 0
GO