好的,基本上需要的是在使用大量連接時使用行數並使用這些rownumbers的where子句的方法。使用大量的鏈接/連接每次迭代1行
如必須對一個表這個查詢雖然產生像
select ADDRESS.ADDRESS FROM ADDRESS
INNER JOIN WORKHISTORY ON WORKHISTORY.ADDRESSRID=ADDRESS.ADDRESSRID
INNER JOIN PERSON ON PERSON.PERSONRID=WORKHISTORY.PERSONRID
WHERE PERSONRID=<some number> AND WORKHISTORY.ROWNUMBER=1
ROWNUMBER。所以,如果我們要訪問的第二WORKHISTORY記錄的地址,我們可以只去WORKHISTORY.ROWNUMBER=2
,如果說我們有兩個地址的,我們可以通過一個WORKHISTORY記錄的地址循環使用ADDRESS.ROWNUMBER=1
和ADDRESS.ROWNUMBER=2
這應該能夠匹配是一個自動生成的查詢。因此,可能會有超過10個內部連接以便到達相關表格,並且我們需要能夠獨立於其餘表格循環訪問每個表格的記錄。
我知道那裏有RANK和ROWNUMBER函數,但是我沒有看到它是如何工作的,因爲所有內部連接都是
注意:在這個示例查詢中,應該自動生成ROWNUMBER!它不應該存儲在實際的表中
重複的 http://stackoverflow.com/questions/534240/mssql-select-statement-with-incremental-integer-column-not從表 – Rodrigo 2009-10-07 18:50:03
讓它成爲它的延伸。在多個連接的表上使用相同的rownumber技術。 (我不擔心2005年以前的兼容性) – Earlz 2009-10-07 19:01:18