У меня есть хранимая процедура, которая выглядит следующим образом:обработка Результата в хранимой процедуре ЗЕЬЕСТЕ
AS
BEGIN
DECLARE @result nvarchar(max)
SELECT @result = COALESCE(@result + ', ', '') + ingredient.NAME
FROM MEAL
LEFT JOIN MEAL meal ON MEAL.ID= ingredient.MEAL_ID
JOIN INGREDIENT ingredient ON ingredient.INGREDIENT_ID = problem_type.GID
where [email protected]
RETURN @result
END
Трапеза может содержать ингредиенты (муку, мясо и т.д.). Допустим, что я не проверяю ингредиенты (проблема сложная, это пример), и что еда может содержать в виде ингредиентов муку, муку (2X) и мясо. Когда я хочу отобразить результат в приложении, эта хранимая процедура вернет строку «Мука, мука, мясо». Я этого не сделаю, я хочу «Мука, мясо».
Как это сделать в хранимой процедуре? Можно ли добавить инструкцию if в SELECT (?). В C#, например, я могу разделить строку и проверить, есть ли дубликаты, но возможно ли это в хранимых процедурах?
Использование вложенного выбора .. в основном делают SELECT @result = COALESCE (@result + ',', '') + NAME из (выберите отдельный компонент.NAME ....), поэтому сначала хотите получить отчетность, а затем перейти с объединением – Veljko89