CREATE VIEW [dbo].[VW_ActiveKnoks] AS SELECT k.Duration, k.CreateDate, k.KnokId KnokId, k.Currency1 Currency1, k.Currency2 Currency2, k.Currency, t.TickerDisplayName as MarketDisplayName, k.ExchangeId, k.CreatorUserId as UserId, k.EntryPriceFrom, k.EntryPriceTo, k.ExitPriceFrom, k.ExitPriceTo, k.StopLoss, e.ExchangeName, k.TickerId, k.PotentialProfitValue, k.PotentialProfit, k.Price, k.Price/.51*1 DollarPrice, ISNULL(k.EntryPriceTouched, 0) EntryPriceTouched, u.HasAvatar, u.UserName, u.FirstName, u.LastName, k.PublishedDate, k.KnokStatusId, ISNULL(follow.UserFollowers, 0) UserFollowers, u.[Rank], (SELECT lr.Rate FROM GetLastRate(k.Duration, t.Base, t.NonBase, k.ExchangeId) lr) AS CurrentPrice, (SELECT count(1) FROM UserKnoks uk WHERE uk.KnokId = k.KnokId) AS Purchases, ((ISNULL((SELECT lr.Rate FROM GetLastRate(k.Duration, t.Base, t.NonBase, k.ExchangeId) lr), 0) - ((k.EntryPriceFrom + EntryPriceTo) / 2)) / ((k.EntryPriceFrom + EntryPriceTo) / 2)) AS CurrentProfit, DATEDIFF(HOUR, GETUTCDATE(), DATEADD(day, k.Duration, k.CreateDate)) AS TimeLeft, -- amount of purchases * knok price * knokser commission (70%) (SELECT SUM(pk.Price) FROM UserKnoks uk INNER JOIN Signals pk ON pk.KnokId = uk.KnokId WHERE pk.knokId = k.knokId GROUP BY uk.knokId) AS PricePoolData, k.DistanceFromTarget, k.HighRate, k.LowRate, ISNULL(k.UserReview, 0) AS UserReview, CAST(ISNULL(s.Decimals, 8) AS smallint) AS Precision FROM [dbo].[Signals] k with(nolock) LEFT JOIN [dbo].[_KnokStatuses] status on k.KnokStatusId = status.KnokStatusId LEFT JOIN [dbo].[Users] u on u.UserId = k.CreatorUserId LEFT JOIN [dbo].[Exchanges] e on e.ExchangeId = k.ExchangeId LEFT JOIN [dbo].[Tickers] t on t.TickerId = k.TickerId LEFT JOIN (select count(f.UserId) UserFollowers, f.FollowUserId userId from [dbo].[UserFollows] f group by f.FollowUserId) follow on follow.userId = k.CreatorUserId left join [dbo].[Symbols] s on s.Symbol = k.Currency2 Where (status.KnokStatusId = 3 OR status.KnokStatusId = 4) --3- Available, 4-On-Going