Northwind Customers, 2 report columns, 10 lines per page:SELECT Col1.Page, Col1.Line, Col1.CustomerID, Col1.CompanyName, Col2.CustomerID, Col2.CompanyNameFROM ( SELECT C1.CustomerID, C1.CompanyName, COUNT(*) / 20 AS Page, COUNT(C2.CustomerID) % 20 AS Line FROM Customers AS C1 LEFT JOIN Customers AS C2 ON C1.CompanyName > C2.CompanyName GROUP BY C1.CustomerID, C1.CompanyName HAVING COUNT(*) % 20 BETWEEN 0 AND 9 ) AS Col1LEFT JOIN ( SELECT C1.CustomerID, C1.CompanyName, COUNT(*) / 20 AS Page, COUNT(C2.CustomerID) % 20 - 10 AS Line FROM Customers AS C1 LEFT JOIN Customers AS C2 ON C1.CompanyName > C2.CompanyName GROUP BY C1.CustomerID, C1.CompanyName HAVING COUNT(*) % 20 BETWEEN 10 AND 19 ) AS Col2 ON Col1.Page = Col2.Page AND Col1.Line = Col2.LineORDER BY Col1.Page, Col1.Line
But just because you can, doesn't mean you should.