さて、基本的に必要なのは、多くの結合を使用し、これらの行番号を使用してwhere句を使用しながら行番号を取得する方法です。
のようなもののような
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
ただし、その1つのテーブルでこのクエリに対してROWNUMBERを生成する必要があります。したがって、2番目のWORKHISTORYレコードのアドレスにアクセスする場合は、次のコマンドを使用しWORKHISTORY.ROWNUMBER=2
て1つのWORKHISTORYレコードのアドレスを循環できます。ADDRESS.ROWNUMBER=1
ADDRESS.ROWNUMBER=2
これは、自動生成されたクエリである必要があります。したがって、関連するテーブルに到達するために10を超える内部結合が存在する可能性があり、残りのテーブルとは関係なく、各テーブルのレコードを循環できる必要があります。
RANK関数とROWNUMBER関数があることは知っていますが、すべての内部結合があるため、どのように機能するかわかりません。
注:このクエリ例では、ROWNUMBERが自動的に生成されます。実際のテーブルに保存しないでください