@ Джо,
Насколько я понимаю, если S_ID найден в таблице STUDENT, он должен вернуть ИМЯ учащегося, если S_ID не найден, запрос должен вернуть сообщение как «Нет #S_ID». .
Пожалуйста, дайте мне знать, если я делаю какую-либо ошибку в понимании вашего вопроса!
[Решение] Это Tsql, поэтому мы можем использовать его как в SQL или на любом языке. И обратите внимание, я проверил это в MSSQL, но подход остается тем же.
declare @sidInput int
set @sidInput = 2455
if exists (select NAME from STUDENTS where S_ID = @sidInput)
begin
select NAME from STUDENTS where S_ID = @sidInput
end
else
begin
declare @outputMsg varchar(20)
set @outputMsg = 'No ' + convert( varchar(10), @sidInput)
select top 1 @outputMsg as NAME from STUDENTS where S_ID not in ( @sidInput )
end
[Тестовые случаи]
1) Для ввода @sidInput = 2455
Output - NAME as Patrick
2) Для ввода @sidInput = 2411
Output - NAME as James
3) Для ввода @sidInput = 2222 #S_ID значение не найдено в таблице STUDENT
Output - NAME as No 2222
ПустьЯ знаю, если это работает для вас.
С уважением,
Арнаб