>CIAO,
Ciao
>vorrei un'altra colonna con la differenza che c'è tra il record
>corrente e il record precedente, quindi il risultato della query
>dovrebbe essere:
>Ultima cosa, il totale dei punti viene calcolato da un altra
>tabella, non ho la tabella classifica con nome e totale punti
>e la query dovrebbe ordinare per numero di punti.
Non sapendo come sono fatte le tue tabelle, ti faccio l'esempio con una tabella classifica coi punti integrati, si tratta di sostituire la mia tabella con una subquery contenente la tua query (quella che ti ricava i punti, diciamo). Comunque ecco l'esempio:
USE tempdb;
GO
CREATE TABLE #Classifica
(
Squadra varchar(30) NOT NULL
, Punti smallint
, CONSTRAINT PK_dboClassifica PRIMARY KEY CLUSTERED
(
Squadra
)
)
GO
INSERT INTO #Classifica
VALUES ('Inter', 10)
INSERT INTO #Classifica
VALUES ('Milan', 8)
INSERT INTO #Classifica
VALUES ('Roma', 5)
INSERT INTO #Classifica
VALUES ('Juve', 4)
INSERT INTO #Classifica
VALUES ('Lazio', 0)
GO
;WITH ClassificaOrdinata AS
(
SELECT
Squadra
, Punti
, progressivo = ROW_NUMBER() OVER (ORDER BY Punti DESC)
FROM
#Classifica
)
SELECT
CO1.Squadra
, CO1.Punti
, Differenza = COALESCE(CO2.Punti - CO1.Punti, 0)
FROM
ClassificaOrdinata CO1
LEFT JOIN ClassificaOrdinata CO2 ON CO1.progressivo - 1 = CO2.progressivo
-- pulizia
DROP TABLE #Classifica
GO
>Grazie!
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi