Đây là những gì bạn đang yêu cầu.
declare @IDList table (ID int)
insert into @IDList
SELECT id
FROM table1
WHERE idType = 1
declare @i int
select @i = min(ID) from @IDList
while @i is not null
begin
INSERT INTO table2(col1,col2,col3)
SELECT col1, col2, col3
FROM table1
WHERE col1 = @i AND idType = 1
select @i = min(ID) from @IDList where ID > @i
end
Nhưng nếu đây là tất cả những gì bạn sẽ làm trong vòng lặp, bạn thực sự nên sử dụng câu trả lời từ Barry để thay thế.