ROW_NUMBER () из производной таблицы с соединениями не является последовательным? - PullRequest
1 голос
/ 27 ноября 2010

У меня есть производная таблица, которая содержит количество объединений, я пытаюсь реализовать разбиение на страницы, но ROW_NUMBER () не является последовательным. Я думаю, я знаю, почему он не последовательный, но есть ли способ заставить его быть последовательным?

SELECT [Results].[Row1],
       [Results].[Row2],
       [Results].[Row3],
  FROM (
    SELECT [p].[Row1],
           [p].[Row2],
           [p].[Row3],
           ROW_NUMBER() OVER (ORDER BY [p].[Id]) As RowNumber
    FROM Table1 As [l]
    JOIN Table2 As [p] ON [l].[fId] = [p].[Id]
    JOIN Users As [u] ON [p].[fId] = [u].[Id]
    JOIN Questions As [q] ON [p].[Id] = [q].[fId]) As Results

Буду признателен за любую помощь, спасибо!

Ответы [ 2 ]

1 голос
/ 27 ноября 2010
    with tempTable as (
    SELECT [Results].[Row1],
           [Results].[Row2],
           [Results].[Row3],
      FROM (
        SELECT [p].[Row1],
               [p].[Row2],
               [p].[Row3],
        FROM Table1 As [l]
        JOIN Table2 As [p] ON [l].[fId] = [p].[Id]
        JOIN Users As [u] ON [p].[fId] = [u].[Id]
        JOIN Questions As [q] ON [p].[Id] = [q].[fId]) As Results

    ) select ROW_NUMBER() OVER (ORDER BY something) As RowNumber, * from tempTable  
1 голос
/ 27 ноября 2010

Почему бы просто не сделать ORDER BY Results.RowNumber в самом конце?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...