在SQL中使用MIN(左(@prefix,3))

时间:2012-03-07 20:35:50

标签: sql stored-procedures

我试图在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工作?

1 个答案:

答案 0 :(得分:2)

您只需要获取ID的前缀为LEFT(@id, 3)。您不需要MIN