Sembra facile ma in effetti ha la sua complicazione ingannevole .......
ma perché non vuoi usare i join ??
devi andare di sottoquery e preoccuparti che le sottoquery restituiscano 1 solo record
poi c'è un problema di fondo
- Immaginiamo che il "id" 2 abbia tre valori identici di "dal più recente"
- a questi tre valori corrispondono tre "tipo" diversi fra di loro
- Quale dei tre "tipo" prendi ?????? se tu vuoi un solo "id" .........
Quella sotto potrebbe essere una bozza che non considera i duplicati certamente migliorabile e da adattare al tuo DB
codice:SELECT DISTINCT X.id, (SELECT Max(Y.dal) FROM T1 AS Y WHERE (Y.Id = X.id)) AS dal2, (SELECT K.tipo FROM T1 AS K WHERE (K.id = X.id) AND (K.dal = (SELECT Max(Y.dal) FROM T1 AS Y WHERE (Y.Id = X.id)) )) AS tipo2 FROM T1 AS X ORDER BY X.id ;