23 lines
828 B
Transact-SQL
23 lines
828 B
Transact-SQL
CREATE FUNCTION [dbo].[API_CalcKnokRanks]
|
|
(
|
|
@knokId int = null
|
|
)
|
|
RETURNS TABLE
|
|
AS
|
|
RETURN (SELECT KnokId, Sum(r.Measure * f.Weight *f.Factor)/ Sum(f.Weight)*1000 RankValue from Signals
|
|
CROSS APPLY API_KnokRanks(Signals.KnokId) AS r
|
|
LEFT JOIN RankFactors f on f.RankId=r.RankId and f.Code=r.Code
|
|
where Signals.KnokId=ISNULL(@knokId, Signals.KnokId)
|
|
Group by Signals.KnokId)
|
|
|
|
|
|
/*
|
|
SELECT KnokId, r.*, f.* from Signals
|
|
CROSS APPLY API_KnokRanks(Signals.KnokId) AS r
|
|
LEFT JOIN RankFactors f on f.RankId=r.RankId and f.Code=r.Code
|
|
SELECT SignalId KnokId, Sum(r.Measure * f.Weight *f.Factor)/ Sum(f.Weight) RankValue from Signals
|
|
CROSS APPLY API_KnokRanks(Signals.KnokId) AS r
|
|
LEFT JOIN RankFactors f on f.RankId=r.RankId and f.Code=r.Code
|
|
-- where Signals.KnokId=ISNULL(1, Signals.KnokId)
|
|
Group by Signals.KnokId
|
|
*/ |