J'ai besoin d'aide pour cette fonction à valeur scalaire.Besoin d'aide avec la fonction à valeur scalaire dans SQL Server 2008
Ce que je veux faire est de retourner la valeur que j'obtiens dans MaxValue sur la ligne max(Value) AS MaxValue
.
La requête fonctionne et ne retournera qu'une valeur si ItemId
et ListPropertyId
existe, mais je ne suis pas en mesure d'en créer une fonction.
CREATE FUNCTION GetLpivMax
(
-- Add the parameters for the function here
@ItemId int,
@ListPropertyId int
)
RETURNS int
AS
BEGIN
DECLARE @output INT;
WITH U AS (
SELECT i.Id AS ItemId,
lpiv.Value,
lp.Id AS ListPropertyId
FROM ListPropertyItemValues lpiv
JOIN ListPropertyItems lpi ON lpi lpi.Id = lpiv.ListPropertyItemId
JOIN ListProperties lp ON lp.Id = lpi.ListPropertyId
JOIN Items i ON i.Id = lpiv.ItemId)
SELECT @output = MAX(u.value)
FROM U u
WHERE u.listpropertyid = @ListPropertyId
AND u.itemid = @ItemId
GROUP BY u.listpropertyid, u.itemid
RETURN @output
END
GO
+1: Pour utiliser les alias de table, mais s'il vous plaît ne pas afficher l'onglet Code délimité SO - il encule vraiment la sortie et permet de les corriger une douleur. Pour plus d'informations sur la syntaxe markdown, voir: http: // stackoverflow.com/editing-help –