2012-12-26 57 views
0

我爲IRS 1099創建B Record列表(以防其他人熟悉該過程)。有兩個頭記錄(T Record and A Record),這是該文件的兩個第一行,他們需要一個行數一樣,所以當我創建我的B Record,我想它的行數3作爲前兩排是開始固定的,但我不能讓它在我的select語句工作row_number()從#3開始

--Padded行號

select right('00000000' ++ cast(row_number() over (order by column1) as varchar (10)),8) 

--results

00000001 
00000002 
00000003 
00000004 
00000005 
00000006 

--would喜歡。

00000003 
00000004 
00000005 
00000006 

感謝,

+2

'row_number()+ 3'會起作用嗎?只是一個猜測.. –

+0

+ 2的xD想是這樣的:P –

+0

我試過--row_number()+ 2--,但也似乎無法得到正確的語法。我希望它是那麼容易的,但對於日Thnx響應。也許我錯過了一些非常簡單的事情...... –

回答

5

需要添加的表達是不row_number()。您需要添加的表達式是row_number() over (order by column1)

create table test (
    column1 integer 
); 

insert into test values (1),(2),(3),(4),(5); 

select right('00000000' + cast((row_number() over (order by column1)) + 2 as varchar (10)),8) 
from test; 
+0

這樣做的竅門!非常感謝你! –