hobby:development:sql:select:query_0002

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
hobby:development:sql:select:query_0002 [2021/01/04 10:34] – creata mauro.cortesehobby:development:sql:select:query_0002 [2021/01/07 10:57] (versione attuale) mauro.cortese
Linea 5: Linea 5:
 \\ \\
  
 +Serviamoci della seguente tabella di esempio:
 <sxh sql> <sxh sql>
 +USE DbTemp
 + 
 +IF OBJECT_ID(N'dbo.tblData', 'U') IS NOT NULL
 +    DROP TABLE dbo.tblData
 + 
 +-- Create table [dbo].[tblData]
 +PRINT (N'Create table [dbo].[tblData]')
 + 
 +CREATE TABLE dbo.tblData (
 +    IdData INT NOT NULL DEFAULT 0
 +   ,Code VARCHAR(50) NOT NULL DEFAULT ('')
 +   ,Description VARCHAR(150) NOT NULL DEFAULT ('')
 +   ,Data DATETIME NOT NULL DEFAULT (GETDATE())
 +
 +ON [PRIMARY]
 +</sxh>
 +
 +Popoliamo la tabella con alcuni dati di esempio:
 +
 +<sxh sql>
 +USE DbTemp
 +
 +DECLARE @Row INT = 0;
 +DECLARE @Code NVARCHAR(7);
 +
 +DELETE FROM dbo.tblData
 +
 +WHILE @Row < 200
 + BEGIN
 + SET @Row = @Row + 1;
 + SET @Code = 'CDC' + RIGHT('0000' + CONVERT(NVARCHAR, @Row * 10),4)
 + INSERT INTO dbo.tblData (IdData, Code, Description) VALUES
 + (
 + @Row * 10
 + ,@Code
 + ,'DESCRIPTION ' + @Code
 + )
 + END;
 +</sxh>
 +
 +Eseguiamo una ''SELECT'' aggiungendo una colonna valorizzata con il numero di riga
 +
 +<sxh sql>
 +SELECT
 +     ROW_NUMBER() OVER (ORDER BY IdData ASC) Row
 +    ,*
 +FROM dbo.tblData
 +</sxh>
 +
 +Eseguiamo una ''SELECT'' //"paginando"// i risultati con 50 righe
 +
 +<sxh sql>
 +DECLARE @From INT = 50;
 +DECLARE @To INT = 100;
 WITH PageTable AS WITH PageTable AS
 ( (
  SELECT  SELECT
-  ROW_NUMBER() OVER(ORDER BY MrpCode ASC) RowNumber +      ROW_NUMBER() OVER (ORDER BY IdData ASC) Row 
- ,* +     ,* 
- FROM LvtBom.dbo.view_pdm_items_toimport+ FROM dbo.tblData
 ) )
 SELECT * FROM PageTable SELECT * FROM PageTable
-WHERE RowNumber BETWEEN AND 100; +WHERE Row BETWEEN @From AND @To;
 </sxh> </sxh>
 +
 +Il risultato sarà un recordset di 50 record dal numero 50 al 100:
 +
 +^  Row  ^  IdData  ^ Code     ^ Description          ^ Data                     ^
 +|  50    500     | CDC0500  | DESCRIPTION CDC0500  | 07/01/2021 10:42:30.153  |
 +|  51    510     | CDC0510  | DESCRIPTION CDC0510  | 07/01/2021 10:42:30.153  |
 +|  52    520     | CDC0520  | DESCRIPTION CDC0520  | 07/01/2021 10:42:30.153  |
 +|  53    530     | CDC0530  | DESCRIPTION CDC0530  | 07/01/2021 10:42:30.153  |
 +|  54    540     | CDC0540  | DESCRIPTION CDC0540  | 07/01/2021 10:42:30.153  |
 +|  55    550     | CDC0550  | DESCRIPTION CDC0550  | 07/01/2021 10:42:30.153  |
 +|  56    560     | CDC0560  | DESCRIPTION CDC0560  | 07/01/2021 10:42:30.153  |
 +|  57    570     | CDC0570  | DESCRIPTION CDC0570  | 07/01/2021 10:42:30.153  |
 +|  58    580     | CDC0580  | DESCRIPTION CDC0580  | 07/01/2021 10:42:30.153  |
 +|  59    590     | CDC0590  | DESCRIPTION CDC0590  | 07/01/2021 10:42:30.153  |
 +|  60    600     | CDC0600  | DESCRIPTION CDC0600  | 07/01/2021 10:42:30.153  |
 +|  61    610     | CDC0610  | DESCRIPTION CDC0610  | 07/01/2021 10:42:30.170  |
 +|  62    620     | CDC0620  | DESCRIPTION CDC0620  | 07/01/2021 10:42:30.170  |
 +|  63    630     | CDC0630  | DESCRIPTION CDC0630  | 07/01/2021 10:42:30.170  |
 +|  64    640     | CDC0640  | DESCRIPTION CDC0640  | 07/01/2021 10:42:30.170  |
 +|  65    650     | CDC0650  | DESCRIPTION CDC0650  | 07/01/2021 10:42:30.170  |
 +|  66    660     | CDC0660  | DESCRIPTION CDC0660  | 07/01/2021 10:42:30.170  |
 +|  67    670     | CDC0670  | DESCRIPTION CDC0670  | 07/01/2021 10:42:30.170  |
 +|  68    680     | CDC0680  | DESCRIPTION CDC0680  | 07/01/2021 10:42:30.170  |
 +|  69    690     | CDC0690  | DESCRIPTION CDC0690  | 07/01/2021 10:42:30.170  |
 +|  70    700     | CDC0700  | DESCRIPTION CDC0700  | 07/01/2021 10:42:30.170  |
 +|  71    710     | CDC0710  | DESCRIPTION CDC0710  | 07/01/2021 10:42:30.170  |
 +|  72    720     | CDC0720  | DESCRIPTION CDC0720  | 07/01/2021 10:42:30.170  |
 +|  73    730     | CDC0730  | DESCRIPTION CDC0730  | 07/01/2021 10:42:30.170  |
 +|  74    740     | CDC0740  | DESCRIPTION CDC0740  | 07/01/2021 10:42:30.170  |
 +|  75    750     | CDC0750  | DESCRIPTION CDC0750  | 07/01/2021 10:42:30.170  |
 +|  76    760     | CDC0760  | DESCRIPTION CDC0760  | 07/01/2021 10:42:30.170  |
 +|  77    770     | CDC0770  | DESCRIPTION CDC0770  | 07/01/2021 10:42:30.170  |
 +|  78    780     | CDC0780  | DESCRIPTION CDC0780  | 07/01/2021 10:42:30.170  |
 +|  79    790     | CDC0790  | DESCRIPTION CDC0790  | 07/01/2021 10:42:30.170  |
 +|  80    800     | CDC0800  | DESCRIPTION CDC0800  | 07/01/2021 10:42:30.170  |
 +|  81    810     | CDC0810  | DESCRIPTION CDC0810  | 07/01/2021 10:42:30.170  |
 +|  82    820     | CDC0820  | DESCRIPTION CDC0820  | 07/01/2021 10:42:30.170  |
 +|  83    830     | CDC0830  | DESCRIPTION CDC0830  | 07/01/2021 10:42:30.170  |
 +|  84    840     | CDC0840  | DESCRIPTION CDC0840  | 07/01/2021 10:42:30.170  |
 +|  85    850     | CDC0850  | DESCRIPTION CDC0850  | 07/01/2021 10:42:30.187  |
 +|  86    860     | CDC0860  | DESCRIPTION CDC0860  | 07/01/2021 10:42:30.187  |
 +|  87    870     | CDC0870  | DESCRIPTION CDC0870  | 07/01/2021 10:42:30.187  |
 +|  88    880     | CDC0880  | DESCRIPTION CDC0880  | 07/01/2021 10:42:30.187  |
 +|  89    890     | CDC0890  | DESCRIPTION CDC0890  | 07/01/2021 10:42:30.187  |
 +|  90    900     | CDC0900  | DESCRIPTION CDC0900  | 07/01/2021 10:42:30.187  |
 +|  91    910     | CDC0910  | DESCRIPTION CDC0910  | 07/01/2021 10:42:30.187  |
 +|  92    920     | CDC0920  | DESCRIPTION CDC0920  | 07/01/2021 10:42:30.187  |
 +|  93    930     | CDC0930  | DESCRIPTION CDC0930  | 07/01/2021 10:42:30.187  |
 +|  94    940     | CDC0940  | DESCRIPTION CDC0940  | 07/01/2021 10:42:30.187  |
 +|  95    950     | CDC0950  | DESCRIPTION CDC0950  | 07/01/2021 10:42:30.187  |
 +|  96    960     | CDC0960  | DESCRIPTION CDC0960  | 07/01/2021 10:42:30.187  |
 +|  97    970     | CDC0970  | DESCRIPTION CDC0970  | 07/01/2021 10:42:30.187  |
 +|  98    980     | CDC0980  | DESCRIPTION CDC0980  | 07/01/2021 10:42:30.187  |
 +|  99    990     | CDC0990  | DESCRIPTION CDC0990  | 07/01/2021 10:42:30.187  |
 +|  100  |  1000    | CDC1000  | DESCRIPTION CDC1000  | 07/01/2021 10:42:30.187  |
  
  • hobby/development/sql/select/query_0002.1609752847.txt.gz
  • Ultima modifica: 2021/01/04 10:34
  • da mauro.cortese