У меня есть SQL query
, который выбирает некоторые значения (и работает через таблицы в форме объединения).Одно из полей возвращает 0 или 1, но я хочу вернуть что-то еще в случае 0 или 1 (да / нет).
Код:
SELECT Passed,
CASE Passed
WHEN '1' THEN 'Yes'
ELSE 'No'
END
FROM EXAM_INSTANCE
Работает на отлично.
Но когда я интегрирую это как подзапрос в сохраненный процесс, я получаю ошибку:
Only one expression can be specified in the select list when the sub-query is not introduced with EXISTS.
Исходный запрос:
select Firstname, Lastname, ei.Started,
((ei.totalcorrect*100)/@examQuestionCount) as percentage, passed, ei.InstanceID
from ea ei, INVITE i, OSTTable ost, f f
where ei.Finished is not null
and ei.InviteID = i.InviteID
Я пытаюсь:
select Firstname, Lastname, ei.Started,
((ei.totalcorrect*100)/@examQuestionCount) as percentage,
(SELECT Passed,
CASE Passed
WHEN '1' THEN 'Yes'
ELSE 'No'
END
FROM EA),
ei.InstanceID
from EA E ei, INVITE i, osttable ost, ef e
where ei.Finished is not null
and ei.InviteID = i.InviteID
В чем причина моей ошибки?
PS Я изменил имена таблиц по соображениям конфиденциальности, поэтому не беспокойтесь, если они не совпадают.