Ответ Andomar полностью действителен и очень элегантен - если вы хотите что-то более «приземлённое», учитывающее, что в будущем возможны другие числовые значения, попробуйте следующее:
CREATE PROCEDURE dbo.FetchImage(@ImageName VARCHAR(255))
AS
IF EXISTS(SELECT * FROM dbo.ImageTable
WHERE ImageName = @ImageName AND ImageSize = 3)
SELECT
Image
FROM
dbo.ImageTable
WHERE
ImageName = @ImageName AND ImageSize = 3
ELSE
SELECT
Image
FROM
dbo.ImageTable
WHERE
ImageName = @ImageName AND ImageSize = 2
Это, в основном, делает то же самое - но оно будет продолжать возвращать Image
для ImageSize = 3
, даже если у вас неожиданно появятся коды размеров изображения 4, 5 и т. Д.