2017-01-11 4 views
1

У меня есть следующий SQL-запрос, который прекрасно работает для пейджингаРазбивка с помощью PHP и SQL Server

$tsql = "SELECT * FROM 
      (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
      AS rowID, Status, FirstName, LastName FROM Client) 
     AS TEMP 
     WHERE (rowID BETWEEN ? AND ? + 1)"; 

Когда я добавить еще одно условие (Status! = -1) в пункте где, он не показывает мне такое же количество строк на каждой странице.

$tsql = "SELECT * FROM 
      (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
      AS rowID, Status, FirstName, LastName FROM Client) 
     AS TEMP 
     WHERE (rowID BETWEEN ? AND ? + 1) AND (Status != -1)"; 

Пожалуйста, кто-нибудь знает, как написать этот запрос, чтобы получить такое же количество строк на каждой странице. Благодаря

+0

использовать свои дополнительные условия были в вспомогательном запросе 'от клиента WHERE Статус! = -1' – bansi

+0

Вам нужно добавить условие (Status! = -1) в свой внутренний запрос выбора. –

ответ

0

Вам нужно добавить условие (Status! = -1) во внутреннем выберите query.Try это ниже сценария,

$tsql = "SELECT * FROM 
      (SELECT ROW_NUMBER() OVER(ORDER BY ClientID) 
       AS rowID, Status, FirstName, LastName FROM Client 
      WHERE (Status != -1)) 
     AS TEMP 
     WHERE (rowID BETWEEN ? AND ? + 1) 
     ORDER BY rowID"; 
+0

Работал. Большое вам спасибо, это было слишком легко. – User27

+0

Теперь, где я могу добавить предложение ORDER BY pls – User27

+0

Вы можете использовать «ORDER BY rowID» в последней части вашего запроса. Ответ изменен plz chk. –

Смежные вопросы