내가 매개 변수가있는 쿼리를가하고자한다
ID가 주어진 다음 ID를 선택하는 방법이, 지정된 ID I :
이 돌아갑니다 연속 된 다음 아이디,
SQL :.
CREATE PROCEDURE dbo.ProcName
(
@ID INTEGER
)
AS
SELECT TOP 1 id
FROM table
WHERE id > @ID
ORDER BY id
ID가 주어진 다음 ID를 선택하는 방법이, 지정된 ID I :
이 돌아갑니다 연속 된 다음 아이디,
SQL :.
CREATE PROCEDURE dbo.ProcName
(
@ID INTEGER
)
AS
SELECT TOP 1 id
FROM table
WHERE id > @ID
ORDER BY id
당신은을 통해 작은 ID를 선택할 수 있습니다 : 난 T에 가장 큰 ID를 = 경우 는 쿼리
이 나타납니다젠장, 천천히 손가락. –
고마워, 정확히 내가 뭘 찾고 있었는지, 이제 max/min이 문자열에서 작동하는지 확인해야한다. –
@Marcin : 최대 및 최소는 문자열에서 작동하지만 텍스트 비교를 수행합니다. 숫자 값을 문자열로 저장 한 경우 검색어의 숫자로 변환해야합니다 (예 : '2'> '10'). – Guffa
것은 당신이 찾고있는 것은 무엇 (순환) T에서 가장 작은 ID를 반환해야합니다 값 @i (있는 경우) 및 가장 작은 ID는 다음 최대 값을 얻습니다.
select max(id)
from (
select top 1 id
from T
where id > @i
order by id
union all
select top 1 id
from T
order by id
) x
아니면 :
select max(id)
from (
select min(id) as id
from T
where id > @i
union all
select min(id)
from T
) x
OP는 가장 큰 ID에 도달하면 (주기적으로) 가장 작은 ID를 다시 반환하려고합니다 ... – AdaTheDev
id> = max 인 경우이 회의는 OP의 주기적 행동 방식과 어떻게 다릅니 까? –
SQL의 어떤 특정한 맛? – Guffa