我正在创建一个存储过程,它根据查询设置 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
在子查询中使用 a ...
SELECT MAX(PermissionID)
FROM (SELECT PermissionID
FROM PermissionContact
WHERE ContactID = @ContactID
UNION ALL
SELECT PermissionID
FROM PermissionGroup
WHERE GroupID = @GroupID)
这也给了Incorrect syntax near ')'
有什么想法或建议吗?临时表是我唯一的选择吗?