J'ai une base de données qui a deux tables. Ces deux tableaux sont définis comme:SQL Server 2008 - Plage conditionnelle
Movie
-----
ID (int)
Title (nvchar)
MovieReview
-----------
ID (int)
MovieID (int)
StoryRating (decimal)
HumorRating (decimal)
ActingRating (decimal)
J'ai une procédure stockée qui permet à l'utilisateur d'interroger les films en fonction des critiques d'autres utilisateurs. À l'heure actuelle, j'ai une table temporaire qui est rempli avec la requête suivante:
SELECT
m.*,
(SELECT COUNT(ID) FROM MovieReivew r WHERE r.MovieID=m.ID) as 'TotalReviews',
(SELECT AVG((r.StoryRating + r.HumorRating + r.ActingRating)/3)
FROM MovieReview r WHERE r.MovieID=m.ID) as 'AverageRating'
FROM
Movie m
Dans une requête plus tard dans ma procédure, je veux essentiellement dire:
SELECT
*
FROM
MyTempTable t
WHERE
t.AverageRating >= @lowestRating AND
t.AverageRating <= @highestRating
Mon problème est, parfois AverageRating est zéro. Pour cette raison, je ne sais pas quoi faire. Comment gérer ce scénario en SQL?
ce que vous voulez faire quand AverageRating est égal à zéro? – eKek0