Посмотрите на эти строки:
Если yes_ans> no_ans и yes_ans> na_ans
и аналогичные.К чему относятся «yes_ans» и т. Д.?Вы не используете их в контексте запроса;условие «если существует» не распространяется на имена столбцов, которые вы используете внутри.
Рассмотрите возможность присвоения этих значений переменным, которые затем можно использовать для условного потока ниже.Таким образом,
if exists (some record)
begin
set @var = column, @var2 = column2, ...
if (@var1 > @var2)
-- do something
end
Тип возвращаемого значения также не соответствует объявлению.Было бы очень полезно, если бы вы использовали отступы, использовали стандартную пунктуацию ANSI (завершите операторы точками с запятой) и пропустили лишние начало / конец - они вам не нужны для строк с одним оператором, выполняемых в результате теста.*