Я создаю хранимую процедуру, которая устанавливает 3 переменные на основе запросов, и я должен вернуть значение MAX
из них.Я пытаюсь сделать это без использования временной таблицы, однако следующее дает мне ошибку Incorrect styntax near ')'
SELECT MAX(PermissionID)
FROM (SELECT @ContactPermission As PermissionID UNION ALL
SELECT @GroupPermission As PermissionID)
Я также попытался
SELECT MAX((SELECT @ContactPermission UNION ALL SELECT @GroupPermission))
, и я получаю ошибку Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
Я также пытался обойти переменные и использовать UNION
в подзапросе ...
SELECT MAX(PermissionID)
FROM (SELECT PermissionID
FROM PermissionContact
WHERE ContactID = @ContactID
UNION ALL
SELECT PermissionID
FROM PermissionGroup
WHERE GroupID = @GroupID)
Это также дает Incorrect syntax near ')'
Любые мыслиили предложения?Являются ли временные таблицы моим единственным вариантом?