2012-03-07 2 views
0
내가 ID의 접두사를 찾기 위해 SQL에서 MIN (왼쪽)를 사용하려고 해요

에 (예를 들어 내가 UJH5433에서 UJH을 원하는)사용 MIN (왼쪽 (@prefix, 3)) SQL

@prefix varchar(25) 
AS 
select [Description] 
from Prefix 
where Prefix = MIN(left(@prefix, 3)) 

내가

ALTER PROCEDURE [dbo].[prefixInfo2] 

문을 실행하려고 할 때, SQL은 MIN(left(@prefix, 3)) 형식을 좋아하지 않는 것 같습니다. 다음과 같은 오류 메시지가 표시됩니다.

집계는 HAVING 절 또는 선택 목록에 포함 된 하위 쿼리에 있고 집계중인 열이 외부 참조가 아닌 한 WHERE 절에 나타나지 않을 수 있습니다.

MIN을 작동시키는 방법이 있습니까?

+0

프로 시저 외부에서 select 쿼리를 실행하면 작동합니까 아니면 오류가 발생합니까? – Taryn

+0

같은 오류가 발생했습니다. – nhat

+0

'MIN'이라고 생각하는 것은 무엇입니까? 왜냐하면 @prefix는 매개 변수 –

답변

2

id 접두사를 얻으려면 숫자 LEFT(@id, 3)이 필요합니다. MIN은 필요하지 않습니다.

+0

처럼 보이기 때문에 작성된 것처럼 이해할 수 없기 때문입니다. 고마워요! – nhat