Queries

2.33 In una query attribuire un numero progressivo ad ogni gruppo di record
  Giorgio Rancati

Se ho una tabella chiamata Tabella che abbia la seguente struttura:
ID                 Contatore e chiave primaria
N_Ordine     Numerico
Ditta             Testo
e che contiene i seguenti record:
ID          N_Ordine        Ditta
1           1234               AAAA
2           1234               BBBB
3           1234               CCCC
4           2345               DDDD
5           2345               AAAA
6           3456               BBBB
7           3456               EEEE
8           3456               FFFF
Se in una query, ai campi della tabella, si vuole aggiungere anche un campo calcolato chiamato CampoAggiunto che si incrementi di 10 ogni volta che cambia N_Ordine, tale query dovrà avere il seguente codice SQL
SELECT ID, N_Ordine, Ditta, (Select Count(1)*10 FROM
             [Select Distinct N_Ordine From Tabella ]. AS T2
        Where T2.N_Ordine<=T1.N_Ordine) AS CampoAggiunto
FROM Tabella AS T1
ORDER BY N_Ordine;
Nella query verrà visualizzato:
ID          N_Ordine        Ditta           CampoAggiunto
1           1234               AAAA       10
2           1234               BBBB        10
3           1234               CCCC        10
4           2345               DDDD        20
5           2345               AAAA       20
6           3456               BBBB        30
7           3456               EEEE         30
8           3456               FFFF         30


Se pensate di avere del materiale freeware interessante e volete pubblicarlo, allora leggete qui.