Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pomiń procedurę zapisaną w T-SQL

Dla 2005/2008/2008 R2

;WITH cte AS
(
    SELECT  Journals.JournalId, 
            Journals.Year, 
            Journals.Title, 
            ArticleCategories.ItemText,
            ROW_NUMBER() OVER 
                     (ORDER BY Journals.JournalId,ArticleCategories.ItemText) AS RN
    FROM    Journals LEFT OUTER JOIN
            ArticleCategories 
             ON Journals.ArticleCategoryId = ArticleCategories.ArticleCategoryId
)
    SELECT  JournalId, 
            Year, 
            Title, 
            ItemText
FROM cte
WHERE RN BETWEEN 11 AND 20

W roku 2012 jest to prostsze

SELECT Journals.JournalId,
       Journals.Year,
       Journals.Title,
       ArticleCategories.ItemText
FROM   Journals
       LEFT OUTER JOIN ArticleCategories
         ON Journals.ArticleCategoryId = ArticleCategories.ArticleCategoryId
ORDER  BY Journals.JournalId,
          ArticleCategories.ItemText 
OFFSET  10 ROWS 
FETCH NEXT 10 ROWS ONLY 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak naprawić „Nieprawidłowa nazwa obiektu „OPENJSON”. w SQL Server

  2. Jak uzyskać wartości kolumn tożsamości bez podawania nazwy kolumny tożsamości w Select — samouczek SQL Server/T-SQL, część 46

  3. Jak używać usuwania kaskadowego w programie SQL Server?

  4. Wyzwalacz aktualizacji SQL tylko wtedy, gdy kolumna jest modyfikowana

  5. Jak uzyskać wartości, które nie zawierają liczb w SQL Server?