2016-06-15 3 views
-3

내 쿼리에서이 라인을 가지고있다. 기본적으로 최상위 (355)를 선택하지 않으면 내 결과를 얻을 수있는 방법에 대한 지침이 필요합니까?SQL 업데이트 문 상단과 하단 행은

이 테이블은 누가 사용하고 있는지에 따라 크기가 다를 수 있으므로 더 많거나 적게 시작할 수 있으며 업데이트 할 수 있습니다.

+0

따라서 테이블의 첫 번째 행과 마지막 행을 업데이트 하시겠습니까? 귀하의 질문은 약간 불분명하다 – Marusyk

+0

당신이 무엇을 요구하는지 : TOP 술어에 가변 행 개수를 전달하는 방법은 무엇입니까? – dlatikay

+0

355 대신 %를 사용 하시겠습니까? – xQbert

답변

0

저장 프로 시저에 쿼리를 캡슐화하는 경우 rowcount에 대한 매개 변수를 전달할 수 있습니다 (예 : @RowCount, 355를 @RowCount로 대체하십시오.

+0

그럴 수도 있습니다. 내가 한 번해볼 게. 미안하지만 나는 프런트 엔드 개발자와 백엔드가 더 많다. – user2516641

0

네가 묻는 것은 950 개의 행과 절반의 테이블이 원본 데이터이고 다른 하나가 복사 된 것입니다. 설정된 수의 행을 사용하는 대신 작고 큰 테이블에서 작동하는 다른 방법을 사용해야합니다.

+0

답변으로 가장 된 댓글을 숨기지 말고 질문을 편집하여 명확하게해야합니다. – HABO

0

이와 비슷한?

declare @t table (id int, trim_lookup_id int,p_c varchar(1)) 

insert into @t values 
(1,1, null), 
(20,2, null), 
(2,3, null), 
(26,4, null), 
(50,5, null), 
(51,1, null), 
(51,2, null), 
(53,3, null), 
(54,4, null), 
(55,5, null) 

;with cte as 
(
    select id,trim_lookup_id,p_c,row_number() over(partition by trim_lookup_id order by id) rn 
from @t 
) 
update @t 
    set p_c = 'C' 
from @t t 
join cte on cte.id = t.id 
where cte.rn = 2 

select * from @t