12 messaggi dal 02 agosto 2015
Ho una tabella con questi campi di esempio:

IDSTRUMENTO DATA IDOPERAIO
----------- ---- ---------
28090 2022-12-02 7
28097 2022-12-02 7
27104 2022-12-02 133
29306 2022-12-02 82
29305 2022-12-02 82
29304 2022-12-02 82
21545 2022-12-02 8
29301 2022-12-02 82
29300 2022-12-02 82
27046 2022-12-02 162
26990 2022-12-02 167
26991 2022-12-02 167
27350 2022-12-02 76
27349 2022-12-02 76
27348 2022-12-02 76
29285 2022-12-02 24
28744 2022-12-02 24
28787 2022-12-02 95
28786 2022-12-02 95
26715 2022-12-01 12
29284 2022-12-01 126
29283 2022-12-01 126
29282 2022-12-01 126
29281 2022-12-01 21
29280 2022-12-01 27



per ogni IDSTRUMENTO devo estrarre la DATA più recente ed il relativo IDOPERAIO 

con access funziona benissimo la seguente query:

SELECT IDSTRUMENTO, Max(DATA) AS UDATA, Last(IDOPERAIO) AS OPERAIO
FROM ASSEGNAZIONISTRUMENTI
GROUP BY IDSTRUMENTO;

purtroppo in SQLSERVER non riesco ad ottenere lo stesso risultato,
anche utilizzando la funzione LAST_VALUE() non riesco ad ottenere lo stesso risultato.

Se qualcuno avesse la voglia di aiutarmi lo ringrazio moltissimo.

Antonio
311 messaggi dal 08 gennaio 2011
Ciao,
con questa query ottieni per ogni idStrumento una riga con la data più recente (la tabella di esempio si chiama TABStruop)

SELECT  IdStrumento, dataST, idoperaio 
FROM TABStruop as T1
WHERE dataST =
(select max(datast) from tabstruop as T2
where (t2.idstrumento = T1.idstrumento))
order by Idstrumento;



Ciao.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.