我试图在SQL中使用MIN(左)来查找ID的前缀(例如我想要来自UJH5433的UJH)
@prefix varchar(25)
AS
select [Description]
from Prefix
where Prefix = MIN(left(@prefix, 3))
当我尝试执行
时 ALTER PROCEDURE [dbo].[prefixInfo2]
声明,SQL似乎不喜欢MIN(left(@prefix, 3))
格式。这是我收到的错误消息:
聚合可能不会出现在WHERE子句中,除非它位于HAVING子句或选择列表中包含的子查询中,并且要聚合的列是外部引用。
有没有办法让MIN工作?
答案 0 :(得分:2)
您只需要获取ID的前缀为LEFT(@id, 3)
。您不需要MIN
。