У меня проблема с моим кодом: P, очевидно, правильно ?! В любом случае ... вот что это ... Я хочу иметь STORED PROC, который принимает 3 аргумента (@cat, @cutPrice, @option) и возвращает несколько результатов, которые имеют тип, похожий на @cat, и цену, которая равна < или> @cutPrice в зависимости от ключевого слова @option «выше» или «ниже». Проблема в том, когда я выполняю это ...Фильтрация по args в Stored Proc
EXEC spBookByPrice
@cat = 'business', @cutPrice = 0.00, @option = 'above'
... У меня нет результатов, но @option = '' показывает все цены. Во всяком случае, вот мой код ....
ALTER PROC spBookByPrice
@cat varchar(12), @cutPrice money, @option varchar(5)
AS
BEGIN
SELECT
title AS 'Title:',
type AS 'Category:',
price AS 'Price:',
CASE
WHEN price >= @cutPrice THEN 'above'
WHEN price < @cutPrice THEN 'below'
--ELSE NULL
END AS 'Option:'
FROM dbo.titles
WHERE 'Option:' LIKE '%' + @option + '%'
GROUP BY type, title, price
HAVING type LIKE '%' + @cat + '%'
END
Спасибо Gurwinder, именно то, что мне не хватает !!!! –
Мне просто пришлось заменить псевдоним [Option:] на полный оператор CASE –
@Kyle Exactly .. :) – GurV